php - Laravel 帖子所有者关系

标签 php laravel laravel-5.6

我有category_content , contentsusers每个表 contents属于许多category_contentcategory_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();
    });
}

最佳答案

usercontents 内,因此可以通过闭包进行访问,

$nodejsContents = ContentCategories::has('contents')->with(['contents' => function($query){
                                        $query->with('user')->get();
                                    }])->find('7');

关于php - Laravel 帖子所有者关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50443501/

相关文章:

php - 多个实例时使用 PHP AJAX 更新表记录

php - Laravel session /存储在刷新时为空

laravel - Blade 语法错误,字符串变量为空

php - Laravel - 连接 3 个表

php - Laravel 寻找错误的表

php - Laravel 在 OneToOne 关系上更新或创建

php - 将 Yii 站点转移到新服务器

php - Blade.php 登录后需要显示用户详细信息

PHP:析构函数与 register_shutdown_function

php - 阻止 Laravel 观察者事件的 Action