【问题标题】:How to save multiple products to a single column order by user in order table in laravel如何在laravel的订单表中按用户将多个产品保存到单列订单中
【发布时间】:2020-06-24 08:19:15
【问题描述】:

这是我的控制器,我只想将多个产品 ID 保存到单个列名称中选择的产品我没有找到解决方案,请帮我解决这个问题

public function applee(Request $request)
{
    $request->validate([
        //
     ]); 
 
     if (Auth::check()){

    $apple = new Apples();
    $userId = Auth::id();

    $apple->user_id = auth('api')->user()->id;;
    $apple-> transaction_id =  $request->transaction_id;
    $apple->buyer_name =  $request->buyer_name;
    $apple-> address =  $request->address;
    $apple->  phone =  $request->phone;
    $apple-> email =  $request->email;

    $apple-> city =  $request->city;
    $apple-> payment_method =  $request->payment_method;
    $apple->   plan_id =  $request->plan_id;
    $apple-> selected_products_ids =  $request->selected_products_ids;
    $apple->   plan_purchase_date = $request->plan_purchase_date;


    $apple->content = $request->content;

    $apple->save();
    return response()->json([
        'message' => 'Successfully created user!'
    ], 201);
}

【问题讨论】:

  • 将所有产品id保存在selected_products_ids列中,也可以将数据另存为json。如果它是一个数组,则将$request->selected_products_ids 更改为$request->selected_products_ids[]
  • 将其保存在序列化数组中php.net/manual/en/function.serialize.php查看此链接。

标签: php database laravel


【解决方案1】:

您可以将其设置为text 列。或者如果您使用 MySQL,您可以将其设置为 JSON 列。但我建议您在 apples 和 products 表之间创建数据库关系。之后,使用 Laravel 中包含的Many to many realtionship

如果你这样做正确,你可以使用类似的东西:

$apple->products()->sync($selected_products_ids);

【讨论】:

    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2020-11-15
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多