Не могу использовать где в красноречивом
Я использую Eloquent ORM в Laravel. Есть 2 модели, User и Trans. Пользователь имеет много транс, а транс принадлежит пользователю. Проблема в том, что когда я использую запрос, где он не работает.
Я пытался с помощью ->get()
в последнем коде это все еще не работает. Я пытался с помощью ->all()
в последнем коде это все еще не работает. Я пробовал где, это все еще не работает.
Модель пользователя
public function trans()
{
return $this->hasMany('App\Trans', 'user_id');
}
Транс Модель
public function user ()
{
return $this->belongsTo('App\User','user_id');
}
контроллер
$trans = Auth::user()->trans->where('date', $date);
Я хочу, чтобы вывод основывался на запросе, где дата основана на вводе пользователем, когда я удаляю ->where
, это работает, и вывод, как это.
Collection {#797 ▼
#items: array:13 [▼
0 => Trans {#783 ▶}
1 => Trans {#784 ▶}
2 => Trans {#785 ▶}
3 => Trans {#786 ▶}
]
}
1 ответ
Попробуй так измениться
Auth::user()->trans->where('date', $date);
в
Auth::user()->trans()->where('date', $date)->get();
примечание: если вы хотите получить только недвижимость, то вы получите недвижимость без
pointer
но если вы хотите использовать другой метод, то необходимо использовать (добавить) указатель (->).