数据透视表的问题

时间:2021-02-06 19:11:29

标签: mysql laravel eloquent

laravel 7.2 版

我有 2 个表,Customers 和 OrderDetails,我正在尝试创建一个数据透视表,用于存储所下订单的 ID 和购买订单的客户的 ID。

我有这样的关系:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use App\OrderDetail;

class Customer extends Model
{
  public function orderdetail()
  {
      return $this->belongsToMany(OrderDetail::class)->withPivot('order_details_id');
  }
}
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use App\Cart;
use App\Customer;

class OrderDetail extends Model
{
   
    public function customer()
    {
        return $this->hasOne(Customer::class);
    }
}

迁移:

   public function up()
    {
        Schema::create('customer_order_detail', function (Blueprint $table) {
            $table->id();
            $table->foreignId("customer_id");
            $table->foreignId("order_detail_id");
            $table->timestamps();
        });
    }

我正在尝试按如下方式完成数据透视表上的信息:

 $customer->orderdetail()->attach([$customer->id,$http_response_header->id]);

出于某种原因,调用该函数时出现错误:

ErrorException: Undefined variable: http_response_header in file C:\web\onlineShop\backend\app\Http\Controllers\CartController.php on line 129

第 129 行是我调用数据透视表关系的地方:

 $customer->orderdetail()->attach([$customer->id,$http_response_header->id]);

编辑 我的控制器上的愚蠢错字

我一整天都在努力寻找解决方案,但没有成功,现在有人知道这里有什么问题吗?,谢谢。

0 个答案:

没有答案