【问题标题】:Laravel Belongsto many relationship with additional columnLaravel 属于与附加列的许多关系
【发布时间】:2019-02-10 13:03:02
【问题描述】:

我在项目中遇到了问题。我与其他领域有很多关系。

例如,我有两个表 User 和 Social 表以及一个名为 social_user 的数据透视表。这是我的用户模型

public function socialinfos() {
    return $this->belongsToMany(Social::class)->withPivot('id')->whereNull('deleted_at');
}

而我的 social_user 表是

Schema::create('social_user', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->bigInteger('user_id');
    $table->string('social_id')->nullable();
    $table->string('url')->nullable();
});

这里我属于许多关系有一个由用户提交的附加 url 字段。当我想在我的数据库中添加此信息时,它无法正常工作。显示错误

Array to string conversion (SQL: insert into `social_user` (`social_id`, `url`, `user_id`) values (2, jahid56, 9))

这是我尝试过的

$user = Auth::user();
$speakers  = $request->get('provider'); // related ids
$pivotData = array_fill(0, count($speakers), ['url' => $request->get('social')]);
$syncData  = array_combine($speakers, $pivotData);

if ($request->get('provider')) {
    $user->socialinfos()->sync($syncData);
} else {
    $user->socialinfos()->sync([]);
}

请帮我解决这个问题

【问题讨论】:

  • $request->get('social') 有什么?你能展示一下吗?
  • @HasanTıngır 我的$request->get('social') 有什么["habib", "habib12"]
  • dd($syncData); 的结果是什么?

标签: php database laravel eloquent relationship


【解决方案1】:

我假设你有这个:

社交 社交用户['id', 'social_id', 'user_id', 'url'] 用户

为了将社交附加到用户,您需要执行以下操作:

Auth::user()->socialInfos()->attach($social_id, ['url' => 'facebokk.com/user']);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 2011-09-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2019-02-11
    相关资源
    最近更新 更多