Выберите столбец из отношения отношений в laravel - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь выполнить загрузку с использованием метода with(), я хочу получить только выбранный столбец из отношения отношений, как я могу это сделать? , Я использую полиморфное отношение.

Draft::with(["user:id,username","article:id,locale","article.articleable:title"])->where([
            ["user_id",$user_id],
            ["is_suspended",1]
        ])->get();

Черновая модель

public function article()
{
    return $this->belongsTo("App\Models\Article");
}

Артикул Модель

public function drafts()
{
    return $this->hasMany("App\Models\Draft", "article_id", "id");
}

public function articleable()
{
    return $this->morphTo();
}

другие модели, имеющие полиморфную связь с моделью изделия

public function articles()
{
    return $this->morphMany("App\Models\Article", "articleable");
}

1 Ответ

0 голосов
/ 25 сентября 2018

Это было исправлено в Laravel 5.7.6: https://github.com/laravel/framework/pull/25662

Для того, чтобы это работало, вы также должны выбрать столбец id:

Draft::with('user:id,username', 'article:id,locale', 'article.articleable:id,title')
                                                                          ^^
    ->where([
        ['user_id', $user_id],
        ['is_suspended', 1]
    ])->get();
...