Ruless
@Ruless
Frontend development

Как получить данные из связаных таблиц Laravel?

Здравствуйте. Есть таблица в которой хранится user_id и project_id.
5a7285757f83a887066843.png
Что бы получать участников проекта я в модели Prohect написал
public function member(){
        return $this->hasMany('App\Model\Project\ProjectMember');
    }

И потом в контроллере пишу

$project = Project::find(some_id);
$project->member;

Это возвращает мне список id а как мне получить информация о пользователе(имя фамилию...)?
Спасибо)
  • Вопрос задан
  • 265 просмотров
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
```public function members()
{
return $this->belongsToMany(User::class, 'project_users');
}```

Потом ```->members```
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Korya
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function projects()
    {
        return $this->belongsToMany('App\Project', 'project_user');
    }

    public function getFullNameAttribute()
    {
        return "{$this->firstname} {$this->lastname}";
    }
}

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Project extends Model
{
    public function members()
    {
        return $this->belongsToMany('App\User', 'project_user');
    }
}


$id = 1;
$project = Project::find($id);

@foreach ($project->members as $member) 
    {{ $member->full_name }}
@endforeach
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы