Потому что сраная магия. Если нужен автокомплит, юзай User::query()->
IDE helper
Можешь начать с ::query()
потому что загляни в модель и увидишь, что там есть __callStatic который проксирует методы в Builder
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Eloquent/Model.php#L2003 https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Eloquent/Model.php#L1981-L1991 https://github.com/laravel/framework/blob/7a8b3a175e6e7e862acb7a68019a54d7848e5ca2/src/Illuminate/Database/Eloquent/Model.php#L1244-L1246 https://github.com/laravel/framework/blob/8.x/src/Illuminate/Database/Eloquent/Builder.php#L266
Я написал, что не работает? Я написал, что магия, а если надо автокомплит – юзай query()->where(). Где ты увидел, что я опровергнул работу where без query? Ни русский не понимаете, ни php.
т.е. получается документация не верна ? https://laravel.com/docs/8.x/eloquent или все же неправильно, что-то подключаю?
а подскажите тогда как будет работать без query?
так же как с query разница только в подсветке в IDE
настрой XDebug и пройдись по выполнению кода с заходом внутрь каждого вызова. Это будет быстрее и понятней чем у чатика спрашивать)
+++ вроде как IDE и "супер"-редакторы должны помогать в разработке. Но люди их упорно как компиляторы воспринимают: красным подчеркнулось — "вселеная опасносте" Внатуре, надо начинать обучать в Блокноте или в ed'e, чтобы научились языку/программированию, а не "текстовому редактированию кода"
Ни папирусы, ни текстовые редакторы не помогут понять, как работает метод, когда его нет в коде, если ты не знаешь про __callStatic/__call.
Обсуждают сегодня