我刚开始学习Laravel,并且作为我的首发者,我正在学习本教程视频系列。 https://youtu.be/Y1TkLkGhHwA试图了解Laravel中的表关系
我想了解这两个表关系如何在模型级别工作。
Order.php
public function customer(){
return $this->belongsTo('App\Customer');
}
我有点明白这是Laravel如何使用belongsTo
方法使两个表之间的关系。 (我只是接受它,因为它是)
但是当我使用在其他模型该模型中,Order.php
定义customer()
功能变得对象实例的属性($命令 - >客户 - >名)(?)。这是一部分,我不明白或者只是缺乏OOP知识......
路线\ web.php
Route::get('orders',function(){
$orders = App\Order::all();
foreach($orders as $order){
echo $order->name . 'belongs to' . $order->customer->name;
我按照你的建议阅读文档,我有点不明白。谢谢(你的)信息。引用'当作为属性访问Eloquent关系时,关系数据是“延迟加载”。这意味着关系数据在第一次访问属性之前并未实际加载。我另外有了Laravel提供的“急切加载”和“Lasy加载”的想法。再次感谢! – norixxx
我的荣幸,如果我的回答有助于您的查询,请将其标记为已解决。谢谢:) – EddyTheDove
我注意到,当使用Eager Load时,函数名必须与模型名相同。这是有效的:'public function customer()',但这不是'public function foo()'。我认为这可能是任何名字。 – norixxx