更新用户设置表-Laravel

时间:2019-04-30 02:21:44

标签: php laravel

尝试更新包含用户设置的表。我在用户模型中有一个hasOne用户设置关系设置。 usersetting表没有id列。但是我得到这个错误。

  

SQLSTATE [42S22]:找不到列:1054'where中的未知列'id'   子句”(SQL:更新usersettings设置user_name = u9ddf,   usersettingsupdated_at = 2019-04-30 02:13:37其中id为空)。

public function profileupdate(Request $request)
{
    if($user = Auth::user())
    {
        $usersetting = $user->usersetting;
        $usersetting->update([
            'user_name' => $request->input('profile_name')
        ]);


        return redirect('profilesettings');
    }


}

我猜我不是雄辩地正确查询吗?

2 个答案:

答案 0 :(得分:0)

我知道了。必须在用户设置模型中将user_id设置为主键。

public $primaryKey  = 'user_id';

答案 1 :(得分:0)

在模型用户设置中添加以下内容:

if (Build.VERSION.SDK_INT >= 27) {
        setShowWhenLocked(true);
        setTurnScreenOn(true);
    } else {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    }