Я немного новичок в этом, и первоначально пытался проверить, возвращает ли моя модель результаты с isEmpty()
, но подумал, что вместо этого попробую count()
, тогда я наткнулся на следующее:
У меня есть следующий код, который возвращает данные из моей модели:
$results = Game::where('code', '=', $code)->with('genre', 'creator')
И использую ли я first()
или get()
в сочетании с count(result)
или$results->count()
Я получаю разные значения, и я не уверен, почему.
при использовании ->first()
dd($results->count()) = 11930 // Number of rows in the db
при использовании ->get()
dd($results->count()) = 1 // What I'd expect the query to return
при использовании ->first()
dd(count($results)) = "count(): Parameter must be an array or an object that implements Countable"
при использовании ->get()
dd(count($results)) = 1
Я не понимаю 1) почему при первом использовании счетчик такой же, как у каждой строки вдб.2) Почему count()
нельзя использовать с first()
.
Может ли кто-нибудь пролить свет на то, почему я не могу использовать счет в первую очередь, как мне хотелось бы?
Обновление:
Я также не могу использовать ->isEmpty()
с ->first()
, но могу с ->get()
...?
Когда япопробуйте сначала использовать, я получаю Illuminate\Database\Query\Builder::isEmpty does not exist.