У меня есть три таблицы:
То, что я пытаюсь сделать, это выбрать всех пользователей, которые имеют отношение к проекту.
В модели задач у меня есть:
class Task extends \Eloquent {protected $guarded = [];public function users()
{
return $this->belongsToMany('\User')->withPivot('user_post_id', 'hours');
}}
И работает довольно хорошо. Я получаю этот результат:
[0] => Array
(
[id] => 9
[created_at] => 1996-08-04 08:35:59
[updated_at] => 1991-07-27 16:36:47
[username] => xcremin
[email] => [email protected]
[remember_token] => $2y$10$WmtDoCCIA25Z/CF28KqlwOngR5vHvghD3cu0bbtPGftUV/ez2WBGe
[pivot] => Array
(
[task_id] => 1
[user_id] => 9
[user_post_id] => 10
)
)
Здесь вы можете увидеть пивот user_post_id
поле. Вопрос — как я могу получить заголовок этого поля (с user_post_id = 10)?
Вы должны добавить отношение в вашем классе TaskUser
public function userPost()
{
return $this->belongsTo('UserPost');
}
и после того, как вы сможете получить имя, сделав что-то вроде, на ваш взгляд
@foreach($task->users as $user)
{{ $user->pivot->userPost->title }}
@foreach
$user_posts = DB::table("user_post")
->whereIn("user_post_id", array($user_post_id))
->get();