我正在这样获取sql查询:
从不存在的
geofilter_activations
中选择*(从snap_submissions
其中geofilter_activations
=purchase_id
。snap_submissions
的{{1}}中选择*)和{ {1}} = 0和purchase_id
<2018-10-10 07:15:42按status
desc限制1排序
但是我在subscription_id的wherenotnull中添加的查询发生了什么? 它不在查询输出中。给我一种优化查询并使之运行的方法。
created_at
GeoFilterActivation模型为:
id
答案 0 :(得分:0)
也许可以通过以下方式帮助您:
$result = GeofilterActivation::with(['purchase' => function($query) {
$query->whereNotNull('subscription_id');
}])
->doesntHave('submission_data')
->where('status','0')
->where('created_at', '<', $dt->subMinutes($time_before)->toDateTimeString())
->OrderBy('id','desc')
->first();
查询中不包含load
的原因是,查询执行后调用了load
,因此必须使用with
将查询中的关系包括在内。您上面提到的带有负载的示例实际上是lazy load
,因为您在需要时请求一个对象。