微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解决向数据库写入数据的问题?

如何解决如何解决向数据库写入数据的问题?

我创建了一个页面,您可以在其中向数据库添加记录,但在添加记录时出现错误

sqlSTATE[HY000]:一般错误:1364 字段“网站”没有认值(sql:插入到 business (name,mail,{{1} },updated_at) 值 (Motor,motor@mail.com,2021-02-02 07:47:26,2021-02-02 07:47:26))

附上下面的截图。

我的数据库 business_table.PHP

created_at

我的控制器:BusinessController.PHP

<?PHP

    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;

    class BusinessTable extends Migration
    {
    /**
    * Выполнение миграций.
    *
    * @return void
    */
    public function up()
    {
    Schema::create('business',function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('mail');
    $table->string('website')->nullable();
    $table->timestamps();
    });
    }

    /**
    * Отмена миграций.
    *
    * @return void
    */
    public function down()
    {
    Schema::drop('business');
    }
    }

我的模型:Business.PHP

<?PHP

    namespace App\Http\Controllers;
    use \App\Models\Business;
    use Illuminate\Http\Request;

    class BusinessController extends Controller
    {
    public function index()
    {
    $business = \App\Models\Business::all();
    return view('business',compact('business'));
    }
    public function createbusiness()
    {
    return view('/createbusiness');
    }
    public function create()
    {
    return view('business.create');
    }
    public  function store()
    {
    $business = new Business();
    $business->name = request()->input('name');
    $business->mail = request()->input('mail');
    $business->save();
    return redirect('/business');

    }
    }

我的 createbusiness.blade.PHP(查看页面以向数据库添加新条目)

<?PHP

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Business extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'business';
}

error screenshot

解决方法

如果您的“网站”字段不是必填项,请修改:

$table->string('website');

作者:

$table->string('website')->nullable();
,

您没有在商店方法中为列网站插入值 您的代码 -:

public  function store()
    {
    $business = new Business();
    $business->name = request()->input('name');
    $business->mail = request()->input('mail');
    $business->save();
    return redirect('/business');    
    }

这样做:

public  function store()
    {
    $business = new Business();
    $business->name = request('name');
    $business->mail = request('mail');
    $business->website = request('website');
    $business->save();
    return redirect('/business');

    }

如果您的“网站”字段不是必填字段,请将其设为可空

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。