【发布时间】:2015-09-26 16:41:42
【问题描述】:
我正在尝试使用 where 条件获取我的查询结果。我当前的查询是
$last_query = DB::table('user_matchs')->where('matched_user_id', '=', $UserId)->where('status','=','friend')->lists('user_id');
$mid_query = DB::table('user_matchs')->where('user_id', '=', $UserId)->lists('matched_user_id');
$query = DB::table('users')
->where('id', '!=', $UserId)
->whereNotIn('id',$mid_query)
->whereNotIn('id',$last_query);
$getchat_details = DB::table('preferences')->where('UserId', $UserId)->first();
if($getchat_details->ShowMan == 'true')
{
$query->where('gender', '=', 'male');
}
else {
$query->where('gender', '=', 'female');
}
$users = $query->get();
return Response::json($users );
}
在我的查询中,使用 if else 条件添加的条件不起作用
【问题讨论】:
-
当你说它不起作用时,究竟是什么不起作用?如果您在
$users = $query->get();之前执行var_dump($query->toSql());,它会输出什么?是否添加了 where 条件? -
使用
$query->orWhere(而不是$query->where(
标签: php mysql laravel laravel-4 laravel-5