Anonymous
это модель Transport
Anonymous
и правильно, ведь в таблице bsmt нет записи по переданному id
Dmitry
а что ты хочешь?
Anonymous
вот и хотел спросить как сделать проверку
Anonymous
и если в родительской пусто то вывести в поле просто "нет данных"
Dmitry
ну т.е. у тебя будет {{ $transport->bsmts ? $transport->bsmts->modelnumber: 'Ничего нет' }} как то так
Anonymous
спасибо попробую
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
Dmitry
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
странно что не находит этот параметр, он же у тебя указан в роуте
Anonymous
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
CreateFormRequest и UpdateFormRequest
Anonymous
у меня их два но Update является наследником Create
Anonymous
class UpdateTransportRequest extends CreateTransportRequest
Sergey
Может сделайте чат своей компании?
Evgeny
Anonymous
вообщем сделать его FormRequest и запихнуть туда свое правило
Sergey
Тут как то не надо
Anonymous