[英]Laravel 5 eloquent WHERE with AND OR AND?
我怎么能这样说(a = 1和b> 1)或(c = 1和d> 1)?
这是我的代码:
$playerMatches = Match::where(function ($query) use($id) {
$query->where('player_1_id', '=', $id)
->where('result_1', '>', 'result_2');
})
->orWhere(function ($query) use($id) {
$query->where('player_2_id', '=', $id)
->where('result_2', '>', 'result_1');
})->get();
提前致谢!
$playerMatches =
Match::where([['player_1_id', '=', $id],['result_1', '>', 'result_2']])
->orWhere([['player_2_id', '=', $id],['result_2', '>', 'result_1']])
->get();
if ( ! function_exists('sql_dump')) {
function sql_dump($connection = null)
{
DB::connection($connection)->enableQueryLog();
DB::listen(function ($sql) {
$i = 0;
$bindings = $sql->bindings;
$rawSql = preg_replace_callback('/\?/', function ($matches) use ($bindings, &$i) {
$item = isset($bindings[$i]) ? $bindings[$i] : $matches[0];
$i++;
if ($item instanceof DateTime) {
$item = $item->format('Y-m-d H:i:s');
}
return gettype($item) == 'string' ? "'$item'" : $item;
}, $sql->sql);
echo $sql->time . '#' . $rawSql, "\n<br /><br />\n";
});
}
}
在查询之前调用sql_dump。 您将在响应中看到sql。
sql_dump();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.