ilyaGor, но правильным решением конечно фиксить код. потому что ошибка говорит о том что переменная содержит иное состояние нежели подразумевал программист.
tatyana75, чисто теоретически какую то экономию в каких то случаях можно добиться тюнингом постгри но сильное подозрение что это будет экономия на спичках.
Может вам стоит рассказать о задаче больше и выяснится что таки не надо читать всю таблицу?
tatyana75,
представьте себе вместо таблицы телефонный справочник. индекс - это что то типа оглавления. Если вам нужно найти всех с фамилией Иванов - оглавление вам поможет. Оно поможет если вам нужно найти всех у кого фамилия начинается на Пе или Зю.
Но если у вас задача стоит как - прочитать весь телефонный справочник - нельзя создать что то что поможет вам. Вам тупо его нужно взять и прочитать.
мне почему то сильно кажется что у вас тут накосячено. У вас пивот таблица - dishes. При том что вы и связь прописываете к Dishes. Это явно какая то ошибка.
и еще одно подозрение что вам надо глянуть на вариант HasManyThrough - если вы связываете не через пивот таблицу а через таблицу Модели.
dd($menu->categories()->dishes()->toSql());
а с чего это будет работать? $menu->categories() - возвращает класс BelongsToMany - у него не может быть метода dishes()
ничего вам не мешает хранить рядом с хешированым паролем, открытый. равно как и вообще выпилить хеширование паролей. но это да - реально ОЧЕНЬ плохо. лучше использовать вариант с ссылкой