Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
if ($request->isMethod('POST')) {
$input = $request->except('_token');
$validator = Validator::make($input,[
'name' => 'bail|required|max:100|min:2',
'family' => 'bail|max:100|min:2',
'phone' => 'bail|max:25|min:5',
'email' => 'bail|required|max:50|min:7|email',
]);
if($validator->fails()){
redirect()->route('pageAdd')->withErrors($validator)->withInput();
}
$this->user->save($input);
и при методе save()
General error: 1364 Field 'name' doesn't have a default value (SQL: insert into `users` (`updated_at`, `created_at`) values (2017-11-23 17:13:48, 2017-11-23 17:13:48))
содержимое $input
array:5 [▼
"id" => "2"
"name" => "den"
"family" => "TEN"
"phone" => "345345345"
"email" => "test@yandex.ru"
]
1) Можно ли както в конфигах указать, что "created_at" заполнять только при создании записи (или при пустом значении) а "updated_at" обновлять при каждом пуке ?
2) как исключить их из обработки? даже если их физически нет в таблице?
Изменено sam (23.11.2017 17:39:02)
Не в сети
Так у тебя проблема в другом, скорее всего ты не объявил $fillable поля в модели.
Посмотри запрос, ни одно значение не устанавливается, а поле name - не имеет значения по умолчанию.
Не в сети
эм, dd($this->user);
User {#220 ▼
#table: "users"
#fillable: array:5 [▼
0 => "name"
1 => "family"
2 => "phone"
3 => "email"
4 => "password"
]
как бы всё норм.
Не в сети
а вот так жрет.. обновляется только update_at
"ок".
$set_user = User::find($id);
if (isset($set_user)) {
if ($request->isMethod('POST')) {
if ($this->validate($request, User::rules())){
$set_user->name = $request->name;
$set_user->family = $request->family;
$set_user->phone = $request->phone;
$set_user->email = $request->email;
if ($set_user->save()){
dd('ок');
}else{
dd('не ок');
}
} else {
dd('Валидация не пройдена');
}
и тогда первый вопрос отпадает. остается только
2) как исключить их из обработки? даже если их физически нет в таблице?
Изменено sam (23.11.2017 18:26:50)
Не в сети
public $timestamps = false;
Не в сети
AlexeyMezenin, кстати. у вас в подписях, в самом низу сайта, везде упоминается $this->user->create($request()->all());
а почему "$request()" содержит скобки?
Не в сети
AlexeyMezenin, кстати. у вас в подписях, в самом низу сайта, везде упоминается $this->user->create($request()->all());а почему "$request()" содержит скобки?
Опечатка. Спасибо большое, исправил.
Не в сети
Страницы 1