我有两个表,分别是"posts"和"categories"。"posts"和"categories"之间的关系是多对一。因此,"Post"类模型中的代码如下:
belongsTo(Category::class); } }
使用这段代码,应用程序成功运行。
问题是,当我尝试将类别函数名称更改为"categories",并且尝试像这样访问帖子的类别名称时:
Post::first()->categories->name
, laravel give an error like this Attempt to read property "name" on null in D:BelajarProgramCODINGANLaravelapplicationcoba-laraveleval()'d code.
(edited
当Eloquent函数名称为"category"时,"Post::first()->category"返回帖子的类别。但是,当我尝试将函数名称更改为"categories"并使用"Post::first()->categories"进行访问时,它返回null。
)
我尝试将类别类模型中的Eloquent关联函数的名称更改为随机名称,但我仍然可以访问它,并且Laravel没有报错。类别类模型的代码如下:
hasMany(Post::class); } }
有人可以帮我吗?为什么我可以更改类别类模型中的Eloquent函数名称,但无法在帖子类模型中更改?
进行以下操作应该可以解决问题: