Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取laravel中where查询的id_Php_Laravel - Fatal编程技术网

Php 获取laravel中where查询的id

Php 获取laravel中where查询的id,php,laravel,Php,Laravel,我想复制我的订单,并且有一个orderstatus\u id列将获得订单状态id,而复制订单时,我想将订单状态id从任何内容更改为特定id 需要更多解释吗? 我的订单状态为completed,id为11,我想复制它,并在复制的订单状态下成为等待付款,id为1。在这个过程中,我希望动态地获取该id,因为我不知道将来id是否会保持不变 所以我有这样的代码: //re-order public function reorder($id) { $status = Ordersta

我想复制我的订单,并且有一个
orderstatus\u id
列将获得订单状态id,而复制订单时,我想将订单状态id从任何内容更改为特定id

需要更多解释吗? 我的订单状态为
completed
,id为
11
,我想复制它,并在复制的订单状态下成为
等待付款
,id为
1
。在这个过程中,我希望动态地获取该id,因为我不知道将来id是否会保持不变

所以我有这样的代码:

//re-order
  public function reorder($id)
    {
      $status = Orderstatus::where('title', 'Witing Payment')->select('id')->get();
      $order = Order::findOrFail($id);
      $newOrder = $order->replicate();
      $newOrder->ordernu = mt_rand(1000000000, 9999999999);
      $newOrder->orderstatus_id = $status;
      $newOrder->payment_id = '';
      $newOrder->save();

      return redirect()->back()
          ->with('info',
           'Order Stored');
    }
当我点击复制链接时,出现以下错误:

Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
我想我需要的是修这条线

谢谢

更新 我的订单表的屏幕截图(如您所见,我的所有整数列都可以为空)


由于某些外键为空,因此出现错误。看起来像是
付款id
。如果要允许其为空,则需要在迁移中使其为空:

$table->string('payment_id')->nullable();
此外,请更改此项:

Orderstatus::where('title', 'Witing Payment')->select('id')->get();
致:


即使我删除了该行,并允许从旧订单复制,我仍然会得到相同的错误,我认为与付款id无关。+我的付款id可为空。我包括了屏幕截图。@mafortis请显示
OrderStatus
的迁移类和
dd($newOrder)的结果放在
$newOrder->save()之前它现在工作得很好:-D它所需要的只是那个值('id'),谢谢你,伙计,谢谢你。@mafortis很高兴它能帮上忙。)
Orderstatus::where('title', 'Witing Payment')->select('id')->get();
Orderstatus::where('title', 'Witing Payment')->value('id');