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]);
编辑 我的控制器上的愚蠢错字
我一整天都在努力寻找解决方案,但没有成功,现在有人知道这里有什么问题吗?,谢谢。