亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用laravel將數組值插入數據庫

如何使用laravel將數組值插入數據庫

PHP
慕容3067478 2021-06-10 14:08:02
我有組和組成員,一張表用于我只存儲組名的組,第二張表是組成員,其中我有 user_id,group_id 字段。我正在使用郵遞員創建 API,我想插入這樣的組成員詳細信息:"group_members": [1,3]我的身體要求是:{    "name": "Steve", // name is group name    "group_members": [1,3]  // [1,3] here 1 and 3 is user_id}我想將 [1,3] 存儲到 group_members 表中 user_id 字段中的 group_id 如果有 [1,3] 然后應該在 user_id 字段中輸入兩個條目我還附上了我的表的屏幕截圖:我的控制器:DB::beginTransaction();    try{        $request->request->add(['created_by' => Auth::user()->id]);        $group = $this->group->create($request->only($this->group->getModel()->fillable));        $request->request->add(['group_id' => $group->id]);        $this->groupMembers->create($request->only($this->groupMembers->getModel()->fillable));        DB::commit();        return response([            'status' => true,            'message' => 'Group added',        ], 200);    } catch(\Exception $ex) {        DB::rollback();        return response([            'status' => false,            'message' => __('messages.validation_errors'),            'errors' => $ex->getMessage(),        ], 500);    }我如何將此數組值存儲到數據庫中,您的幫助將不勝感激?
查看完整描述

2 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

使用附加和多對多關系來完成。


組.php


class Group extends Model

{

    public function users()

    {

        return $this->belongsToMany('App\User', 'group_members');

    }

}

用戶名


class User extends Model

{

    public function groups()

    {

        return $this->belongsToMany('App\Group', 'group_members');

    }

}

現在,您只需執行以下操作即可按 ID 將成員添加到組中:


$group = Group::where('name', $request->get('name'))->first();

$group->users()->attach($request->get('group_members', []));

如果您想從組中刪除一個或多個成員,情況也是如此:


$group->users()->detach($request->get('group_members', []));


查看完整回答
反對 回復 2021-06-12
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

改變這兩行


$request->request->add(['group_id' => $group->id]);

$this->groupMembers->create($request->only($this->groupMembers->getModel()->fillable));


$user_ids = $request->get('group_members');

foreach($user_ids as $user_id){

    $this->groupMembers->create(['group_id' => $group->id, 'user_id'=>$user_id]);

}

希望這能解決您的問題。


查看完整回答
反對 回復 2021-06-12
  • 2 回答
  • 0 關注
  • 343 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號