Как выбрать конкретный столбец в красноречивых отношениях внутри модели? - PullRequest
0 голосов
/ 23 октября 2019

РЕДАКТИРОВАНИЕ: Ребята, можете ли вы просмотреть предложенный дубликат? Я провел некоторое исследование, прежде чем задавать этот вопрос, и я уже по этой ссылке, это не тот ответ, который я ищу.


Как я могу выбрать конкретный столбец в красноречивых отношениях? Я хочу, чтобы только name столбец был возвращен, когда я Student::find()->subject;

Я попробовал приведенные ниже коды, но не работает и возвращает сообщение об ошибке

App \ Student ::субъект должен вернуть экземпляр отношения.

class Student extends Model
{
    protected $table = 'subjects';
    protected $fillables = ['id', 'name', 'gender', 'birthdate', etc.];

    public function subject()
    {
        return $this->hasMany('App\Subject')->pluck('name');
    }
}

1 Ответ

1 голос
/ 23 октября 2019

Вы можете использовать любые функции построителя запросов в отношении. Используйте select, чтобы выбрать только столбец имени

public function subject()
{
    return $this->hasMany('App\Subject')->select('name');
}
...