У меня есть модель (Клиент) с hasMany отношением к другому (Client_option).Larevel/Eloquent hasMany отношения без внешнего ключа
Две таблицы находятся в разных базах данных (так что есть список клиентов, а затем каждый клиент имеет свою собственную базу данных с таблицей опций внутри).
В классе «Мой клиент» я хочу, чтобы мой метод options() возвращал все содержимое таблицы опций (он знает, какой клиент db искать). Я получаю сообщение об ошибке, потому что столбец client_id не существует в таблице опций. Я могу, конечно, создать этот столбец и заполнить каждую строку идентификатором клиента, но я бы сделал это только для того, чтобы сохранить Eloquent счастливым, поэтому лучше избегать этой маленькой беспорядочности.
Заранее благодарим за вход!
Geoff
Это работает очень хорошо, и, как описано , но я получаю сообщение об ошибке при попытке загрузить отношения параметров так: Client :: with ('options') -> find ($ client_id); Я получаю сообщение об ошибке «Вызов неопределенного метода App \ Models \ Base \ Custom_collection :: addEagerConstraints()» (Custom_collection extends Collection). Я попробовал, чтобы метод options() возвращал $ this-> getRelation ('options') вместо $ options, но без радости. Есть предположения? Я доволен вашим ответом и отмечу как правильный в любом случае. Благодаря! –
Это псевдосвязь. Тем не менее, вы не можете полагаться на все черты отношения «Красноречивый», а одна из них - нетерпеливая загрузка. –