有啥地方可以确定表 order_product 表的名称

Posted

技术标签:

【中文标题】有啥地方可以确定表 order_product 表的名称【英文标题】:Is there any where to determine name of table order_product table有什么地方可以确定表 order_product 表的名称 【发布时间】:2020-01-07 19:44:58 【问题描述】:

我正在尝试使用 laravel 创建和编辑订单,但是当我调用 create 函数时出现错误(未找到基表或视图:1146 Table 'easyres.order_products),然后如果我将表名更改为 order_products 我有同样的错误,但有(order_product)

订购产品型号:

protected $fillable = [
    'count' , 'price'
];

订购型号:

public function products()
    return $this->belongsToMany('App\Product')->withPivot('count')->withPivot('price');

产品型号:

public function order()
    return $this->belongsToMany('App\Order');

创建函数:

public function createOrder(Request $request)


    $order = new Order;
    $order->status = $request->status;
    $order->user_id = auth()->user()->id;
    $order->save();


    $product_ids = $request->products;



    foreach ($product_ids as $index => $productId) 
        $id = $productId['product_id'];
        $count = $productId['count'];
        $product = Product ::find($id);

        $orderProduct = new Orderproduct;
        $orderProduct->product_id = $id;
        $orderProduct->order_id = $order->id;
        $orderProduct->count = $count;
        $orderProduct->price = $product->product_price;
        $orderProduct->save();
    





    return  response()->json([
        'message' => 'Success'
    ],200);

编辑功能:

 public function EditOrder(Request $request , $id)

    $order =  Order::find($id);
    $order->status = $request->status;
    $order->user_id = $request->user_id;
    $order->update();

    $product_ids = $request->products;

    $selectedItems = [];

    foreach ( $product_ids  as $key => $productId) 
        $id1 = $productId['product_id'];
        $product = Product ::find($id);
        $count = $productId['count'];


        $selectedItems[$id1] = ['product_id' => $productId['product_id'] , 'count' => $productId['count']  , 'price' => $product->product_price];


       $order->products()->updateExistingPivot($id1, $selectedItems[$id1]);
    


    return  response()->json([
        'message' => 'Success'
    ],200);



我想确定 order_product 表的名称

【问题讨论】:

不清楚你在问什么 请阅读How to create a Minimal, Reproducible Example,以便有人能够理解您的要求。另请查看How do I ask a good question? 以提高您获得答案的机会。那么,请更新您的问题。 另外,你的表迁移会很有帮助,所以发布它 【参考方案1】:

在您的 OrderProduct 模型中,将表名设置为属性

protected $table = "order_product";

因为 Eloquent 采用复数形式作为表名

【讨论】:

以上是关于有啥地方可以确定表 order_product 表的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何添加多对多的额外数据透视列?

JPA 多对多JPQL查询语句怎么写?

使用视图和临时表之间有啥区别(系统资源方面)?

用pl sql为oracle表创建sequence有啥用 怎么创建?

西门子PLC中的DB块,如何使用有啥作用?数据类型有啥,可以在程序中发挥啥作用呢?新人无法理

mysql加入表[关闭]