Общая ошибка: 1364 Поле 'email' не имеет значения по умолчанию - PullRequest
0 голосов
/ 25 сентября 2019

SQLSTATE [HY000]: общая ошибка: 1364 Поле 'email' не имеет значения по умолчанию (SQL: вставить в значения form1s (name, updated_at, created_at) (jhiui), 2019-09-25 15:39:57, 2019-09-25 15:39:57))

Мой контроллер

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\form1;

class formcontroller extends Controller
{
    public function store(Request $request ){

    //dd($request->all());
        $form1=new form1;

        $form1->name=$request->yourname;
        $form1->save();
        $form1->email=$request->email;
        $form1->save();
        $form1->tp=$request->tp;
        $form1->save();    
        $form1->heading=$request->subject;
        $form1->save();
        $form1->text=$request->message;
        $form1->save();
        $form1->image=$request->image;
        $form1->save();
    }
}

1 Ответ

0 голосов
/ 25 сентября 2019

Как я уже говорил в комментариях, не звоните ->save() после каждого назначения атрибута.save() сохраняет данные в базе данных, и если вам не хватает атрибутов (значений столбцов), у вас будут проблемы.Кроме того, это очень сильно влияет на производительность, так как вы вызываете insert, за которым следует update для каждого атрибута ... Чтобы это исправить, просто вызовите save() один раз:

public function store(Request $request){

    $form1 = new form1();

    $form1->name = $request->yourname;
    $form1->email = $request->email;
    $form1->tp = $request->tp;
    $form1->heading = $request->subject;
    $form1->text = $request->message;
    $form1->image = $request->image;

    $form1->save();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...