...
$categoriesWithDishes = $menu
->categories()
->with('dishes')
->get();
Vue не может отследить следующие изменения в массиве:
Прямую установку элемента по индексу: vm.items[indexOfItem] = newValue
Явное изменение длины массива: vm.items.length = newLength
Например:
var vm = new Vue({ data: { items: ['a', 'b', 'c'] } }) vm.items[1] = 'x' // НЕ РЕАКТИВНО vm.items.length = 2 // НЕ РЕАКТИВНО
Решить первую проблему можно двумя способами, оба дадут эффект аналогичный vm.items[indexOfItem] = newValue, плюс запустят реактивные обновления состояния приложения:
// Использовать Vue.set Vue.set(vm.items, indexOfItem, newValue) // Использовать Array.prototype.splice vm.items.splice(indexOfItem, 1, newValue)
Можно использовать метод экземпляра vm.$set, который является псевдонимом для глобального Vue.set:
vm.$set(vm.items, indexOfItem, newValue)
Для решения второй проблемы используйте splice:
vm.items.splice(newLength
)
User::whereRaw('username = :username',[':username'=>'test'])->get();
'id =:id or something_else=:id'