我有两个表,这是职位和类别。职位和类别之间的关系是多对一的。所以post类模型中的代码是这样的:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $guarded = ['id'];
public function category()
{
return $this->belongsTo(Category::class);
}
}
字符串
使用该代码,应用程序可以成功运行。
问题是,当我试图将category函数名称更改为categories时,我试图像这样访问文章的category名称:Post::first()->categories->name
,laravel给予an error like this
(编辑
“Post::first()->category”返回文章的类别,当雄辩的函数名为category时。但是当我尝试改变categories这样的函数的名字并使用“Post::first()->categories”访问它时,它返回一个null
)
我试着用随机名称来改变类别类模型中的雄辩关系函数的名称,但我仍然可以访问它,laravel没有给予错误。category类模型的代码是这样的
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
use HasFactory;
protected $guarded = ['id'];
public function posts(){
return $this->hasMany(Post::class);
}
}
型
有没有人能帮我一下,为什么我可以在类别类模型中更改雄辩函数的名称,但不能在后类模型中?
1条答案
按热度按时间9rnv2umw1#
执行以下操作应该有效:
字符串
让我知道它是否有效。