Laravel Eloquent关联函数名称
P粉729198207
P粉729198207 2023-07-23 17:45:15
0
1
292
<p>我有两个表,分别是"posts"和"categories"。"posts"和"categories"之间的关系是多对一。因此,"Post"类模型中的代码如下:</p> <pre class="brush:php;toolbar:false;">&lt;?php namespace AppModels; use IlluminateDatabaseEloquentFactoriesHasFactory; use IlluminateDatabaseEloquentModel; class Post extends Model { use HasFactory; protected $guarded = ['id']; public function category() { return $this-&gt;belongsTo(Category::class); } }</pre> <p>使用这段代码,应用程序成功运行。</p><p>问题是,当我尝试将类别函数名称更改为"categories",并且尝试像这样访问帖子的类别名称时:</p><p> <code>Post::first()-&gt;categories-&gt;name</code>, laravel give an error like this <code>Attempt to read property "name" on null in D:BelajarProgramCODINGANLaravelapplicationcoba-laraveleval()'d code.</code></p> <p>(edited</p> <p>当Eloquent函数名称为"category"时,"Post::first()-&gt;category"返回帖子的类别。但是,当我尝试将函数名称更改为"categories"并使用"Post::first()-&gt;categories"进行访问时,它返回null。</p> <p>)</p> <p>我尝试将类别类模型中的Eloquent关联函数的名称更改为随机名称,但我仍然可以访问它,并且Laravel没有报错。类别类模型的代码如下:</p> <pre class="brush:php;toolbar:false;">&lt;?php namespace AppModels; use IlluminateDatabaseEloquentFactoriesHasFactory; use IlluminateDatabaseEloquentModel; class Category extends Model { use HasFactory; protected $guarded = ['id']; public function posts(){ return $this-&gt;hasMany(Post::class); } }</pre> <p>有人可以帮我吗?为什么我可以更改类别类模型中的Eloquent函数名称,但无法在帖子类模型中更改?</p>
P粉729198207
P粉729198207

热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!