Laravel 此集合实例上不存在属性[vehiclemodel]。一丝不苟

Laravel 此集合实例上不存在属性[vehiclemodel]。一丝不苟,laravel,eloquent,laravel-collection,Laravel,Eloquent,Laravel Collection,嗨,我正试图通过hasOneThrough关系获得车辆模型,但我的财产失败了,我做错了什么 桌子 车辆 身份证件 颜色 品牌识别码 拉雷维尔雄辩的关系顾名思义就是“雄辩的”。这意味着函数基本上描述了代码的结构 拥有某物,意味着你所拥有的东西知道谁是它的主人,因此,额头上写着你的id的东西属于你,而你拥有一(一)个或多(多)个。它们之间的区别是hasOne先取,而hasMany全部取,并将它们放入集合中 归属感的工作原理是一样的,手机知道它属于一个人,因为这个人的名字写在屏幕上或其他任何地方 在您

嗨,我正试图通过hasOneThrough关系获得车辆模型,但我的财产失败了,我做错了什么

桌子

车辆 身份证件 颜色 品牌识别码
拉雷维尔雄辩的关系顾名思义就是“雄辩的”。这意味着函数基本上描述了代码的结构

拥有某物,意味着你所拥有的东西知道谁是它的主人,因此,额头上写着你的id的东西属于你,而你拥有一(一)个或多(多)个。它们之间的区别是hasOne先取,而hasMany全部取,并将它们放入集合中

归属感的工作原理是一样的,手机知道它属于一个人,因为这个人的名字写在屏幕上或其他任何地方

在您的情况下,一个品牌有一辆(或多辆)汽车,以及多个车型

在您描述的这个特定场景中,车辆和车辆模型都属于一个品牌,但是因为它们都属于一个品牌,所以它们之间没有直接的关系。最简单的方法是通过调用$vehicle->brand->vehicle\u model或其他方式从一个到另一个

您还应该能够通过使用

$this->hasOneThrough(VehicleModel::class, Brand::class, 'id','id','brand_id','brand_id') 
如果我没记错的话


当您有多个家长的ID时,就会发生belongtomany,通常会附带一个中间表,而在这里您没有中间表。

这个问题以前有人问过;请在发布前搜索您的错误。在您的情况下,
$client->vehicles
是一个
集合
,因此除非循环,否则无法访问
->vehiclemodel
foreach($client->vehicles as$vehicle){echo$vehicle->vehiclemodel;}
(或类似)供参考:;所有这些都是同一个问题,都有答案。这回答了你的问题吗?