Eloquent относится к возврату разных моделей в зависимости от условий

Я делаю демо для панели администратора. Я пытаюсь получить пользователя комментария. Моя структура выглядит следующим образом:

- Post
- Comment

Комментарий может быть сделан AppUser и / или User, Разница в том, что AppUser это обычный пользователь и что User является администратором / редактором

Я делаю обычный запрос, используя этот образец здесь

$comment = new AppUserComment();
$returnComment = $returnComment->with('user');
$returnComment = $returnComment->get();

Это дает мне все комментарии, которые являются 4. В comments таблица у меня есть столбец с именем is_normal, который имеет значение 1 когда админ пишет комментарий и 0 когда обычный пользователь пишет это.

Я проверяю значение в AppUserComment модель с использованием этого способа:

public function user() {

if($this->is_normal > 0){
return $this->belongsTo(User::class, 'user_id', 'id');

} else {
return $this->belongsTo(AppUser::class, 'user_id', 'id');
}
}

Все комментарии имеют значение 0 в is_normal за исключением последнего комментария, который имеет 1 в is_normal, Тем не менее, условие не срабатывает, и я всегда получаю AppUser модель вместо User модель.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector