У меня есть таблица 'messages_message' и отдельная роль отправителя по столбцу 'sender_type' (администратор / пользователь). Оба администратора и пользователя в другой таблице. Но когда я вызываю модель, которая выдает ошибку Вызов функции-члена addEagerConstraints () для null
Столбец таблицы и данные
| id | id_group | id_reply | id_sender | sender_type | message
| 1 | 1 | null | 3 | admin | Hi, I'm admin
| 2 | 1 | 1 | 3 | admin | I wanna give u promo
| 3 | 1 | 2 | 18 | user | What's promo ?
Я пробовал, если условно со значением столбца, но это не работает.
Conversation_message.php
public function sender(){
switch($this->sender_type){
case "user":
return $this->belongsTo(User::class, 'id_sender', 'id');
case "admin":
return $this->belongsTo(Admin::class, 'id_sender', 'id');
default:
return;
}
}
InboxController.php
public function message_detail_chat($groupId){
$data = [];
$data['messages'] = Conversation_message::with('replies')
->with('sender')
->with('recipients')
->where(['id_group' => $groupId])->get();
}
Я предполагаю использовать условную модель по значению столбца sender_type, но фактический вывод неверен.