如何解决如何解决向数据库写入数据的问题?
我创建了一个页面,您可以在其中向数据库添加记录,但在添加记录时出现错误:
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))
附上下面的截图。
created_at
<?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');
}
}
<?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';
}
解决方法
如果您的“网站”字段不是必填项,请修改:
$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 举报,一经查实,本站将立刻删除。