$bought_items = OrderModel::with('sale')->select();
foreach ($bought_items as $order) {
var_dump($order->toArray());
//为什么循环的第一个是正常,循环到第二个就是Null值。 Trying to get property of non-object
var_dump($order->sale->caption);
}OrderModel
public function sale()
{
return $this->belongsTo('Sale');
}如果我把关联预载入删了,可以正常输出正确结果,是我用法不正确吗?$bought_items = OrderModel::select();
没使用关联预载入
SELECT * FROM `product_sale` WHERE `id` = 2 LIMIT 1
SELECT * FROM `product_sale` WHERE `id` = 3 LIMIT 1
使用了关联预载入
SELECT * FROM `product_sale` WHERE `id` IN (2,3)
最佳答案