为了账号安全,请及时绑定邮箱和手机立即绑定

\ Eloquent \ Model :: Create方法返回null,状态码为OK

\ Eloquent \ Model :: Create方法返回null,状态码为OK

PHP
UYOU 2021-05-10 16:09:20
创建方法无法正常工作。始终返回OK状态,数据为空,并且在db中没有插入。没有错误显示不幸,所以我不知道该怎么办。protected function addBooking(Request $request){    $data = $request->all();    if ($this->validator($data)->fails()) {        return $this->sendError('Validation Error.', $this->validator($data)->errors());    }    Booking::create($data);    return $data;}这是迁移 public function up(){    Schema::create('bookings', function (Blueprint $table) {        $table->bigIncrements('id');        $table->bigInteger('booker_id')->nullable(false)->unsigned();        $table->bigInteger('classroom_id')->nullable(false)->unsigned();        $table->string('name');        $table->string('color')->default("#ff0000");        $table->string('file')->default(NULL);        $table->string('start')->nullable(false);        $table->string('end')->nullable(false);        $table->timestamps();        $table->foreign('booker_id')->references('id')->on('users');        $table->foreign('classroom_id')->references('id')->on('classrooms');    });}该模型  class Booking extends Model    {    protected $fillable = [        'booker_id', 'classroom_id', 'name', 'color', 'file', 'start', 'end'    ];    protected $hidden = [    ];    protected $casts = [    ];}我如何发送请求{  "booker_id": 10,  "classroom_id": 4,  "name": "Microsoft",  "start": "2019-04-25 14:45",  "end": "2019-04-25 16:45",  "color": "#ff0000",  "file": "test"}
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

Laravel有一个路由约定,如果要创建新项目,则方法名称应为store()。我使用两种方式创建新元素:首先,这是较短的方法,并且我在StoreBooking中添加了验证


public function store( StoreBooking $request ) {

  $data = $request->all();

  $booking = Booking::query()->create( $data );

}

基于laravel文档的记录器:


public function store( StoreBooking $request ) {

 $booking = new Booking();

 $booking->bookier_id = $request->bookier_id;

 /**

  add other items

 **/

 $booking->save();

}


查看完整回答
反对 回复 2021-05-14
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

//您应该使用表单请求来验证数据。并将所有业务逻辑移至模型


protected function addBooking(Request $request)

{


    $data = $request->all();



    if ($this->validator($data)->fails()) {

        return $this->sendError('Validation Error.', $this->validator($data)->errors());

    }


    return Booking::create($data)->fresh();


}


查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信