以下请求从users表中提取所有条目,其中name = Albert或name = Alberto或name = Ana。
$users = DB::table('users')
->whereIn('name', ['Albert', 'Alberto', 'Ana'])
->get();
是否有可能调整此请求以提取以以下名称开头的所有条目?
答案 0 :(得分:1)
在基本的where
函数上使用like运算符:
$users = DB::table('users')
->where('name', 'like', 'T%')
->get();
修改强> 基于此answer(但简化),这是一个解决您问题的简单闭包:
$queryStr = ['Albert', 'Alberto', 'Ana'];
$users = DB::Table('users')
->where(function ($query) use ($queryStr) {
foreach($queryStr as $q){
$query->orwhere('name', 'like', $q . '%');
}
})->get();
答案 1 :(得分:1)
为什么不链接variables
{
dword logFile; // logfile handle
int i;
char results[1024]; // store our formatted string
}
on start
{
setFilePath("C:\\Demo\\Results", 2); // 2 = read & write
logFile = openFileWrite("Results.txt", 2); // 2 = append file
for (i = 0; i < 10; i++ )
{
snprintf(results, 1024, "The value of 'i' is %d\n", i);
filePutString(results, 1024, logFile);
}
fileClose(logFile);
}
子句:
orwhere
答案 2 :(得分:0)
->whereRaw(name in(\'Albert\', \'Alberto\', \'Ana'\)')
或
->where(name, 'LIKE', 'Albert%')
->orWhere(name, 'LIKE', 'Ana%')
答案 3 :(得分:0)
最简单的方法是嵌套QueryBuilder的$(document).on('click', '#printform', function(e){
call controller...(How do I do it?)
});
和where
方法:
orWhere
您可以使用QueryBuilder的<?php
$users = DB::table('users')
->where('name', 'like', 'Albert%')
->orWhere('name', 'like', 'Alberto%')
->orWhere('name', 'like', 'Ana%')
->get();
?>
方法,并将其与一些基本的php和sql结合使用。这样,MySQL注入也会自动被阻止。
whereRaw