Получите детали внешнего ключа, используя laravel - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь получить все программы с указанием их данных об университете ... и получить их, используя https://stackoverflow.com/posts/47033187/revisions ... но теперь, если там есть такой же идентификатор университета, он получает сведения об университете только первым, например thishttps://ibb.co/2dh1d44.. как я могу получить подробную информацию о каждой программе с данными об их университете? У меня есть эти отношения

Программная модель

 public function univesity(){
        return $this->belongsTo(tblUniversity::class,"id");
    }

Университетская модель

 public function programs(){
        return $this->hasMany(tblProgram::class);
    }

контроллер

 public function programGet(){
        $uni = tblProgram::with('univesity')->get();

        return response()->json($uni);
}

миграция таблицы университета

 Schema::create('tbl_universities', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('code');
            $table->string('name');
            $table->string('country');
            $table->timestamps();
        });
}

миграция таблицы программы

 Schema::create('tbl_programs', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('tbl_university_id')->unsigned()->index();
            $table->string('program');
            $table->integer('periodMonths');
            $table->timestamps();

            $table->foreign('tbl_university_id')->references('id')->on('tbl_universities')->onDelete('cascade');

        });

спасибо .. .

1 Ответ

0 голосов
/ 15 октября 2019

В вашей программной модели вам нужно изменить на foreign key или primary key

public function univesity(){
    return $this->belongsTo(tblUniversity::class,"tbl_university_id","id");
}

, как в Университетская модель

public function programs(){
    return $this->hasMany(tblProgram::class,"tbl_university_id","id");
}

Ваше имя таблицы отличается. поэтому обязательно добавьте в модель

программную модель

protected $table = 'tbl_programs';

модель университета

protected $table = 'tbl_universities';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...