ToSql () в Eloquent Relationship возвращает `where id = null`

Я работаю над трехмерной сводной таблицей

Архитектура

Я сделал следующие таблицы и модели.

register_colleges( model: RegisterCollege )
- college_id
- random field

programs ( model: Program )
- id
- program_name

courses ( model: Course )
- id
- course_name

course_program_register_college
- course_id
- program_id
- college_id

Теперь проблема, с которой я столкнулся, заключается в том, что мое представление показывает результат null, когда я пытаюсь получить доступ к program_name (скажем). Я ожидаю этого, потому что, когда я конвертирую его в SQL (), он показывает следующий запрос:

select * from 'programs' inner join 'course_program_register_college' on 'programs'.'id' = 'course_program_register_college'.'program_id' where 'course_program_register_college'.'college_id' is null

Я не могу понять, почему этот запрос пытается получить данные where 'course_program_register_college'.'college_id' is null.

RegisterCollege.php (модель)

// pivot table is looking for register_college_id as a primary key field
protected $primarykey = 'college_id';

  public function programs(){
    return $this->belongsToMany('App\Program', 
    'course_program_register_college', 'college_id');
  }

Обновлено:-

Красноречивый запрос

{{ $college->programs()->toSql() }} // in some view.blade.php

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

Simon R 21.08.2018 09:04

Я обновил вопрос

Ujjwal Verma 21.08.2018 09:55

а как ты получил $college var? это несуществующий экземпляр модели?

lagbox 21.08.2018 10:39

Я передал его на свой view.blade.php через route. Он содержит информацию о конкретном колледже.

Ujjwal Verma 21.08.2018 11:04

Я нашел решение проблемы, изменив функцию модели как таковую - return $this->belongsToMany('App\Program', 'course_program_register_college', 'college_id', 'program_id')->distinct('program_id');, хотя я до сих пор не знаю, почему в первом случае она давала нулевой результат.

Ujjwal Verma 21.08.2018 11:07
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
221
0

Другие вопросы по теме