使用SQL将数据插入Laravel Controller中的表的两列中

时间:2018-07-24 12:02:50

标签: php sql database laravel-5.5

我一直在尝试使用查询将数据插入到表的两列中,但是缺少一些内容,即它没有在名为booking_code的另一列中发送数据。
它是在表中插入booking_id,而不是booking_code。

这里是控制器:

public function store(CreatePaymentRequest $request)
    {
        $input = $request->all();

        $booking_id = $request->booking_id;
        $booking_code = Booking::find($booking_id)->booking_code;
        $this['booking_code'] = $booking_code;

        $payment = $this->paymentRepository->create($input);

        Flash::success('Payment saved successfully.');

        return redirect(route('admin.payments.index'));
    }

1 个答案:

答案 0 :(得分:0)

请看看Relevant Documentation Pages

  

您还可以使用create方法将新模型保存在一行中。插入的模型实例将从该方法返回给您。但是,在执行此操作之前,您将需要在模型上指定可填充或受保护的属性,因为默认情况下,所有Eloquent模型都可以防止大规模分配。

这意味着您必须在“模型”中设置允许“质量分配”的字段。

在您的情况下,它看起来像

class Booking extends Model 
(...)
{
   protected $fillable = ['booking_code', (...)];
}
(...)

尽管在您提供的代码中,我看不到如何构建$input变量,所以问题可能出在那儿吗?也许只是一些错字。