Как получить имя пользователя по полю не первичного ключа в laravel - PullRequest
0 голосов
/ 14 мая 2019

У меня есть две таблицы как следующие

USERS
--------------
id   name
--------------
1    Joe
2    Adam
--------------


TASKS
--------------------------------------------------------
id   user_id   assigned_to   content     
--------------------------------------------------------
1       1               1     bla_bla_a
1       1               2     bla_bla_b
--------------------------------------------------------

CONTROLLER

$tasks = Task::all();
return view('list', compact('tasks'));

VIEW


<tr>
    <th>ID</th>
    <th>Creator</th>
    <th>ASSIGNED TO</th>
    <th>CONTENT</th>
</tr>

@foreach($tasks as $task)
<tr>
    {{ $task->id }}
    {{ $task->user->name }}
    {{ $task->assigend_to }}  // what sould i write here to get the user name.
    {{ $task->content }}
</tr>
@endforeach

Мой вопрос: что я должен сделать, чтобы получить имя пользователя, которому назначена задача в представлении? Привет

1 Ответ

0 голосов
/ 14 мая 2019

Используйте отношения один-к-одному. Читать здесь

В Task.php Модель добавить это отношение

public function user() {
    return $this->belongsTo(User::class);
}

Теперь получить как $task->user()->name; в представлении

Если у вас уже есть эта связь в модели, просто загрузите пользователя с задачей следующим образом:

Изменения в контроллере -

$tasks = Task::with('user')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...