Anonymous
это модель Transport
Dmitry
transport это дочерняя bsmt родительская
Надо проверять вернулось что то или нет, перед обращением
Anonymous
Надо проверять вернулось что то или нет, перед обращением
да это я понимаю, и понимаю ошибка выдается Trying to get property 'modelnumber' of non-object
Anonymous
и правильно, ведь в таблице bsmt нет записи по переданному id
Dmitry
а что ты хочешь?
Anonymous
вот и хотел спросить как сделать проверку
Anonymous
и если в родительской пусто то вывести в поле просто "нет данных"
Dmitry
ну т.е. у тебя будет {{ $transport->bsmts ? $transport->bsmts->modelnumber: 'Ничего нет' }} как то так
Anonymous
спасибо попробую
Anonymous
И еще если не трудно, подскажите как сделать проверку правильно на вводимые значения, при добавлении все работает при обновлении срабатывает уникальность и не дает записать
Anonymous
public function rules() { return [ 'model' => 'required', 'govnumber' => 'required|unique:transports', 'bsmt_id' => 'required' ]; }
Anonymous
поле govnumber
Dmitry
поле govnumber
https://laravel.com/docs/5.6/validation#rule-unique Смотри где про ignoring
Anonymous
да я смотрел но там в примере используется id авторизованного пользователя а как передать id той же таблицы не пойму
Dmitry
любое значение подставля которе тебе надо
Dmitry
там же запрос строится
Anonymous
там я так понял надо проверить если это таже запись то ее на уникальность не проверять но как узнать таже она или нет где взять параметр записи текущей?
Anonymous
public function update(Transport $transport, UpdateTransportRequest $request) { $transport->update( $request->only('model', 'govnumber', 'bsmt_id' ) ); session()->flash('message', 'Транспорт обновлен!!!'); return redirect()->route('transport_path', ['transport' => $transport->id]); }
Anonymous
это контроллер транспорта
Dmitry
$transport - у тебя соделжит id, это id надо подставлять
Dmitry
попробуй в конструкторе запроса запросить эту модель
Dmitry
ну а вообще тебе наверное id приходит в запросе?
Anonymous
т.е. так? 'govnumber' => 'required|unique:transports,'.$transport->id?
Dmitry
неа
Dmitry
смотри внимательнее доку
Dmitry
'govnumber' => [ 'required', Rule::unique('transports')->ignore($transport->id), ],
Dmitry
а получилось модель получить в объекте запросса?
Anonymous
неа
Anonymous
public function rules() { return [ 'model' => 'required', 'govnumber' => 'required|unique:transports', 'bsmt_id' => 'required' ]; }
Dmitry
тебе же приходит id из запроса так?
Dmitry
можешь его подставлять
Anonymous
да написал я так
Anonymous
public function rules() { return [ 'model' => 'required',Rule::unique('transports')->ignore($transport->id), 'govnumber' => 'required|unique:transports,'.$transport->id.'id', 'bsmt_id' => 'required' ]; }
Anonymous
Class 'App\Http\Requests\Rule' not found
Anonymous
Illuminate\Foundation\Rule?
Anonymous
точнее Illuminate\Validation\Rule;
Dmitry
ага
Dmitry
обратиться к моделе можешь через $this->route('transport')
Anonymous
Undefined variable: transport
Dmitry
покажи как у тебя в роуте написано правило
Anonymous
//Юзер Route::name('create_transport_path')->get('/transports/create', 'TransportsController@create'); Route::name('store_transport_path')->post('/transports', 'TransportsController@store'); Route::name('edit_transport_path')->get('/transports/{transport}/edit', 'TransportsController@edit'); Route::name('update_transport_path')->put('/transports/{transport}', 'TransportsController@update'); Route::name('delete_transport_path')->delete('/transports/{transport}', 'TransportsController@delete'); //Гость Route::name('transports_path')->get('/transports', 'TransportsController@index'); Route::name('transport_path')->get('/transports/{transport}', 'TransportsController@show');
Anonymous
это имел ввиду? роуты банальные без заморочек просто пути
Dmitry
странно что не находит этот параметр, он же у тебя указан в роуте
Dmitry
))))
Anonymous
т.е. $transport = $this->route('transport')
Anonymous
?
Anonymous
)))
Dmitry
по сути да
Anonymous
буду пробовать
Anonymous
а после $transport->id?
Dmitry
по идеи да, но ты посмотри что там у тебя будет лежать
Anonymous
ок
Anonymous
в запросе я могу использовать dump или dd?
Dmitry
почему нет? :)
Anonymous
хз )
Anonymous
не пробовал. я по сути 1с-ник там отладчик мне нравится и консоль запросов )))
Anonymous
а здесь кроме dd и dump в нет бинсе не знаю как отладкой пользоваться
Dmitry
Xdebug
Dmitry
можешь дебаг панель поставить
Dmitry
barryvdh/laravel-debugbar
Anonymous
В нетбинс?
Dmitry
Xdebug - хоть где
Dmitry
barryvdh/laravel-debugbar - это композер пакет для laravel
Anonymous
все понял
Anonymous
сработало ))) $transport = $this->route('transport');
Anonymous
но теперь при создании нового транспорта ошибка с ID скорее всего надо по CASE отбирать, если это PUT тогда использовать правило 'govnumber' => ['required',Rule::unique('transports')->ignore($transport->id)],
Anonymous
иначе правило по умолчанию
Dmitry
иначе правило по умолчанию
ну я бы посоветовал другой сделать FormRequest для Create
Dmitry
CreateFormRequest и UpdateFormRequest
Anonymous
у меня их два но Update является наследником Create
Anonymous
class UpdateTransportRequest extends CreateTransportRequest
Sergey
Может сделайте чат своей компании?
Anonymous
вообщем сделать его FormRequest и запихнуть туда свое правило
Sergey
Тут как то не надо
Anonymous
Может сделайте чат своей компании?
прошу прощения вы имеете ввиду обсуждение отдельно по теме лары? или вы про1С?