【问题标题】:Call to undefined method stdClass::delete() Laravel 5.3调用未定义的方法 stdClass::delete() Laravel 5.3
【发布时间】:2016-12-08 07:39:04
【问题描述】:

我有一个有 2 个主键 user_id、event_id 的表。我想删除一行特定的事件和 uer id,但是我得到了这个错误(见图):

$eventUser=DB::table('eventuser')->where('user_id', '=', $userId)
                ->where('event_id', '=', $eventId)
                ->first();
$eventUser->delete();

【问题讨论】:

    标签: database laravel


    【解决方案1】:

    由于您使用的是查询生成器,因此您无权访问 Eloquent 删除方法。相反,您可以通过在查询中包含一条记录来删除它:

    DB::table('eventuser')->where('user_id', '=', $userId)
                    ->where('event_id', '=', $eventId)
                    ->delete();
    

    Docs

    【讨论】:

    • 谢谢@jackel414!
    【解决方案2】:

    您的查询似乎不正确。您需要将一组条件传递给where 函数,如下所示:

    $eventUser=DB::table('eventuser')->where([
        ['user_id', '=', $userId],
        ['event_id', '=', $eventId]
    ])->first();
    
    $eventUser->delete();
    

    【讨论】:

      猜你喜欢
      • 2016-05-10
      • 1970-01-01
      • 2020-06-02
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 2017-04-24
      相关资源
      最近更新 更多