我怎么能这样说WHERE(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();
提前致谢!
答案 0 :(得分:0)
$playerMatches =
Match::where([['player_1_id', '=', $id],['result_1', '>', 'result_2']])
->orWhere([['player_2_id', '=', $id],['result_2', '>', 'result_1']])
->get();
答案 1 :(得分:0)
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();