Laravelを使用して配列値をデータベースに挿入する方法

syed1234

グループとグループメンバーがあります。1つのテーブルはグループ名だけを格納しているグループ用で、2番目のテーブルはuser_id、group_idフィールドがあるグループメンバーです。

postmanを使用して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_idに対してuser_idフィールドのgroup_membersテーブルに[1,3]を格納したいので、user_idフィールドに2つのエントリを入力する必要があります。テーブルのスクリーンショットも添付しました。

私のコントローラー:

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);
    }

この配列値をデータベースに保存するにはどうすればよいですか?ここに画像の説明を入力してください

               try {

        $group = $this->group->find($request->input('id'));
        $request->request->add(['updated_by' => Auth::user()->id]);
        $group->fill($request->all())->save();

        return response(['status' => true, 'message' => 'Group updated'], 500);

    } catch (\Exception $ex) {
        return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $ex->getMessage()], 500);
    }





      public function updateGroup(Request $request)
    {
    $validator = UserValidations::validateGroup($request->all());

    if($validator->fails()) {
        return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $validator->errors()->all()], 500);
    }

    try {

        $group = $this->group->find($request->input('id'));
        $request->request->add(['updated_by' => Auth::user()->id]);
        $group->fill($request->all())->save();

        return response(['status' => true, 'message' => 'Group updated'], 500);

    } catch (\Exception $ex) {
        return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $ex->getMessage()], 500);
    }
}
そして

アタッチ多対多の関係でそれを行います。

Group.php

class Group extends Model
{
    public function users()
    {
        return $this->belongsToMany('App\User', 'group_members');
    }
}

User.php

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', []));

グループから1つ以上のメンバーを削除する場合も、同じことが言えます。

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

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列値をlaravelコントローラーに取得してデータベースに挿入する方法

分類Dev

配列値をlaravelコントローラーに取得してデータベースに挿入する方法

分類Dev

for each ループを使用してデータベースに配列値を挿入する方法

分類Dev

PHPを使用してデータベースに配列を挿入する

分類Dev

json配列を取得してデータベースに挿入する方法。php

分類Dev

PHP配列値をフォーマットしてデータベースに挿入する方法

分類Dev

値が配列内に存在することを確認し、PHPを使用して値をデータベースに挿入する方法

分類Dev

Beanを使用してsqliteデータベースに値を挿入し、それらのテーブル値をjson配列に取得する方法

分類Dev

PHPを使用してmySQLのデータベース行にHTMLフォーム配列を挿入する方法

分類Dev

Laravelのデータベースに配列値を挿入します

分類Dev

配列値をデータベースに挿入します

分類Dev

c#を使用して2D配列をデータベースに挿入する方法

分類Dev

PHPを使用してデータベースのjson配列に複数の行を挿入する方法

分類Dev

Yii2を使用して値の配列をデータベースに更新/挿入する方法(繰り返される1つのIDに多くの値)

分類Dev

PHPを使用してデータベースに配列を挿入します

分類Dev

データベースに配列を挿入する方法

分類Dev

配列からデータをフェッチしてデータベースに挿入する方法

分類Dev

入力値を取得してデータベースに挿入する方法

分類Dev

ajaxでPOSTメソッドを使用して複数の配列を使用してデータベースにデータを挿入する方法:

分類Dev

Laravel - JSON 配列データをデータベースに挿入する

分類Dev

bashを使用してsqliteデータベースに値を挿入する

分類Dev

PHPを使用してデータベースに値を挿入する

分類Dev

Mule: サブ配列から値を参照してデータベースに挿入する

分類Dev

JDBCのPreparedStatementを介してUUIDの配列をHyperSQLデータベースに挿入する方法

分類Dev

Firebaseデータベースで値を取得してHTMLに挿入する方法

分類Dev

PHPのキーと値のペアとして配列値をデータベーステーブルに挿入する方法

分類Dev

連想配列を使用してMySqlにデータを挿入する方法

分類Dev

連想配列を使用してMySqlにデータを挿入する方法

分類Dev

MSAccessでVBAを使用してデータベーステーブルに値を挿入する方法

Related 関連記事

  1. 1

    配列値をlaravelコントローラーに取得してデータベースに挿入する方法

  2. 2

    配列値をlaravelコントローラーに取得してデータベースに挿入する方法

  3. 3

    for each ループを使用してデータベースに配列値を挿入する方法

  4. 4

    PHPを使用してデータベースに配列を挿入する

  5. 5

    json配列を取得してデータベースに挿入する方法。php

  6. 6

    PHP配列値をフォーマットしてデータベースに挿入する方法

  7. 7

    値が配列内に存在することを確認し、PHPを使用して値をデータベースに挿入する方法

  8. 8

    Beanを使用してsqliteデータベースに値を挿入し、それらのテーブル値をjson配列に取得する方法

  9. 9

    PHPを使用してmySQLのデータベース行にHTMLフォーム配列を挿入する方法

  10. 10

    Laravelのデータベースに配列値を挿入します

  11. 11

    配列値をデータベースに挿入します

  12. 12

    c#を使用して2D配列をデータベースに挿入する方法

  13. 13

    PHPを使用してデータベースのjson配列に複数の行を挿入する方法

  14. 14

    Yii2を使用して値の配列をデータベースに更新/挿入する方法(繰り返される1つのIDに多くの値)

  15. 15

    PHPを使用してデータベースに配列を挿入します

  16. 16

    データベースに配列を挿入する方法

  17. 17

    配列からデータをフェッチしてデータベースに挿入する方法

  18. 18

    入力値を取得してデータベースに挿入する方法

  19. 19

    ajaxでPOSTメソッドを使用して複数の配列を使用してデータベースにデータを挿入する方法:

  20. 20

    Laravel - JSON 配列データをデータベースに挿入する

  21. 21

    bashを使用してsqliteデータベースに値を挿入する

  22. 22

    PHPを使用してデータベースに値を挿入する

  23. 23

    Mule: サブ配列から値を参照してデータベースに挿入する

  24. 24

    JDBCのPreparedStatementを介してUUIDの配列をHyperSQLデータベースに挿入する方法

  25. 25

    Firebaseデータベースで値を取得してHTMLに挿入する方法

  26. 26

    PHPのキーと値のペアとして配列値をデータベーステーブルに挿入する方法

  27. 27

    連想配列を使用してMySqlにデータを挿入する方法

  28. 28

    連想配列を使用してMySqlにデータを挿入する方法

  29. 29

    MSAccessでVBAを使用してデータベーステーブルに値を挿入する方法

ホットタグ

アーカイブ