【问题标题】:Laravel attach on associative keyLaravel 附加在关联键上
【发布时间】:2020-06-01 14:55:51
【问题描述】:

我有一个 ManyToMany 关系设置,但需要为要附加的数组中的键指定一个值。

$data = request()->validate([
           'homework_title' => '', // string
           'homework_description' => '', // string
            'group_id' => '', // array
        ]); 

$homework = request()->user()->homeworks()->create([
            'homework_title' => $data['homework_title'],
            'homework_description' => $data['homework_description'],
        ]);

$homework->groups()->attach($data['group_id'][key]);

group_id 是一个数组,如下所示:

[
  {
    "group_id": 1,
    "group_name": "8x/En2"
  },
  {
    "group_id": 2,
    "group_name": "9x/En3"
  }
]

如何指定只附加数组中的 group_id?

【问题讨论】:

  • 类似array_pluck($data, 'group_id') ?
  • 你可以使用array_column($data['group_id'], 'group_id')
  • 试过了:dd(array_column($data['group_id'], 'group_id'));我仍然得到所有数据:"group_id":[{"group_id":1,"group_name":"8x/En2"}]}"@TheAlpha
  • @Ersoy 刚刚尝试过,但仍然获得了如下所有数据:"group_id":[{"group_id":1,"group_name":"8x/En2"}]}"
  • @sam67 我不确定,但是;这是prnt.sc/srruzq的情况

标签: laravel multidimensional-array eloquent relationship


【解决方案1】:

让它工作,与:

Arr::pluck()

第一次我忘了导入类(我真傻)!

使用 Illuminate\Support\Arr;

最后看起来像下面这样:

$homework->groups()->attach(Arr::pluck($data['group_id'], 'group_id'));

【讨论】:

    猜你喜欢
    • 2014-12-09
    • 2022-11-29
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    相关资源
    最近更新 更多