@constintmid
Laravel vue.js

Laravel связь одна к многим как получить доступ?

class department extends Model
{
    public function User()
    {
        return $this->hasMany('App\User','departments_id','id');
    }
}

class UserAll extends Model
{
    protected $table = 'users';
    protected $guarded = [];

    public function department()
    {
        return $this->belongsTo('App\Department','departments_id','id');
    }

}


public function up()
    {
        Schema::create('departments', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('names');
            $table->string('description');
            $table->string('logo');
            $table->bigInteger('departments_id')->unsigned()->index();
            $table->foreign('departments_id')
                ->references('id')->on('users');
            $table->timestamps();
        });
    }


public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

class DepartmertController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $comments = \App\Department::all();
        $departmens=$comments->User();
        dd($departmens);
        return view('department.index',compact('departmen','user'));
    }


как мне с помощью департамента получить по привязке имя пользователя который относится я уже много чего испробовал везде ошибки связь идет по ключу foreign я хочу и объекта департамент по связи выташить имя пользователя который связан с этим департаментом доку читал непомогло
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
@jazzus
в Department
public function users() {
  return $this->belongsToMany('App\User', 'user_department', 'departament_id', 'user_id');
}

в контроллере
$departaments = Department::with('users')
                          ->get();

в шаблоне
@foreach ($departaments as $departament)
  @foreach ($departament->users as $user)
    {{$user->name}}
  @endforeach
@endforeach

ManyToMany
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@andreysuha
Что то знаю
Вам бы следовало прислушаться к тому что Вам говорят. А по поводу вопроса $comments это колекция а не екземпляр модели, в этом ошибка
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы