У меня есть загрузка URL с данными, переданными из Laravel. Я помещаю данные в данные VUE, используя синтаксис блейда, как это:
data: {
id: "{!! ($header->id) !!}",
vendor: '{!! $header->vendor_name !!}',
orderDate: '{!! $header->orderDate !!}',
list: [],
}
Все идет нормально. Данные установлены правильно.
Затем есть метод, который срабатывает при щелчке строки в таблице:
methods: {
findInventoryItem: function(rowId) {
var header = this.id;
url = '{!! url('part-order/find-inventory') !!}' + '?headerId=' + header + '&rowId=' + rowId;
window.location.href = url;
}
URL настроен правильно.
Ошибка происходит, когда я щелкаю строку таблицы. Эта ошибка выскакивает.
Trying to get property of non-object (View: /code/zone/resources/views/parts/part-order.blade.php)
Обратите внимание, что ошибка не с запрошенным URL, а с существующим URL.
Ошибка вызвана этой строкой:
id: "{!! ($header->id) !!}",
Есть идеи о том, что здесь происходит?
Хорошо, это ошибка новичка, но я нашел проблему. Хуже всего то, что я сделал эту ошибку раньше. Это не имело никакого отношения к Ларавел или Вью. Иногда объяснение вашей проблемы и обсуждение ее с кем-то помогает выявить и выяснить, что вы сделали неправильно. Спасибо @Laerte за обсуждение со мной. Это помогло мне найти решение.
Проблема была в маршрутах. Следующий маршрут мешал.
Route::get('part-order/{id}', 'PartOrderController@showOrder');
и мой запрошенный маршрут был
Route::get('part-order/find-inventory', 'PartOrderController@findInventoryNumber');
Поскольку мой первый маршрут содержал переменную во втором сегменте, я не мог использовать другой маршрут без добавления третьего сегмента. Потому что второй сегмент был интерпретирован как переменная и поэтому никогда не достигал его в моем запросе.
Я исправил маршрут так:
Route::get('part-order/find-inventory/inv', 'PartOrderController@findInventoryNumber');
Эта ошибка говорит о том, что $header
является null
, Вы должны проверить это для null
, Что-то вроде:
{!! is_null($header) ? 0 : $header->id !!}
Или же:
@if (!is_null($header))
{!! $header->id !!}
@endif