Отношения владельца почты Laravel - PullRequest
0 голосов
/ 21 мая 2018

у меня есть 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);
    }
}

по этому приведенному ниже коду я могу найти категории контента с идентификатором категории 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();
    });
}

Ответы [ 2 ]

0 голосов
/ 21 мая 2018
ContentCategories::find('7')->contents

belongsToMany Содержимое вернет коллекцию.Таким образом, вы можете либо просмотреть коллекцию, чтобы получить соответствующего пользователя Contents

или

ContentCategories::find(7)->contents->with('user');
0 голосов
/ 21 мая 2018

user находится в пределах contents, поэтому доступ с закрытием

$nodejsContents = ContentCategories::has('contents')->with(['contents' => function($query){
                                        $query->with('user')->get();
                                    }])->find('7');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...