这是我的代码:
$tracking_codes_obj = new TrackingCode;
$tracking_code = 140;
if ( !is_null($tracking_code) )
$tracking_codes_obj->where('tracking_code', $tracking_code);
$tracking_codes = $tracking_codes_obj->orderBy('expired')->orderBy('id')->paginate(10);
正如您所看到的,$tracking_code
不为空,因此条件为true
且应该应用where
子句。但结果仍然与我完全消除这种情况时的结果相同。
为什么以及如何解决?
答案 0 :(得分:3)
正确的语法是:
$tracking_codes_obj = $tracking_codes_obj->where('tracking_code', $tracking_code);
答案 1 :(得分:1)
如果条件如下,则需要更换:
if ($tracking_code != null)
而不是
if ( !is_null($tracking_code) )
和代码将是这样的
$tracking_codes_obj = new TrackingCode;
$tracking_code = 140;
if ($tracking_code != null)
{
$tracking_codes_obj = $tracking_codes_obj->where('tracking_code', $tracking_code);
}
$tracking_codes = $tracking_codes_obj->orderBy('expired')->orderBy('id')->paginate(10);