我有category_content
, contents
和users
每个表 contents
属于许多category_content
和category_content
属于许多contents
每个 contents
属于一个用户,并且一个用户在 contents
上有多个帖子表
class Contents extends Model
{
...
public function categories()
{
return $this->belongsToMany(ContentCategories::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
}
class ContentCategories extends Model
{
...
public function contents()
{
return $this->belongsToMany(Contents::class);
}
}
class User extends Authenticatable
{
...
public function content()
{
return $this->hasMany(Contents::class);
}
}
通过下面的代码我可以找到类别ID为7
的类别内容
$nodejsContents = ContentCategories::find('7')->contents;
现在,问题就在这里,我如何在此查询中获取帖子所有者哪些内容属于哪个用户
我测试了这段代码,但出现错误:
$nodejsContents = ContentCategories::find('7')->contents->user;
错误:
"Undefined property: Illuminate\Database\Eloquent\Builder::$contents"
contents_categories
迁移:
public function up()
{
Schema::create('contents_categories', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('lang',2)->default('fa');
$table->integer('parent')->default(0);
$table->timestamps();
});
}
最佳答案
user
在 contents
内,因此可以通过闭包进行访问,
$nodejsContents = ContentCategories::has('contents')->with(['contents' => function($query){
$query->with('user')->get();
}])->find('7');
关于php - Laravel 帖子所有者关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50443501/