Я застрял в середине чего-то, чтобы удалить один элемент из db

$remove = Event::where('agent_id', $agent->id)->where('id', $request->id)->remove();
return response()->json($remove, 200);

Он всегда возвращает false, но когда я удаляю это-> ->where('id', $request->id), он работает нормально, также и при этом возврате false:

Event::where('agent_id', $agent->id)->where('id', $request->id)->first();

Но это возвращение верно:

Event::where('agent_id', $agent->id)->first();

Когда я отлаживал, оба параметра возвращали правильные вещи:

$request->id // return 2
$agent->id // return 1

enter image description here

Любая идея?

Изменить: модель события

class Event extends Model
{
    protected $fillable = [
        'file_id',
        'status',
        'description',
        'file_id',
        'agent_id'
    ];
    protected $hidden = ['updated_at'];
}

Я понял, я получаю ошибку 500 после использования этого:

Event::where('agent_id', $agent->id)->where('id', $request->id)->first()->remove();

{сообщение: «вызов неопределенного метода App \ Event :: remove ()», исключение: «BadMethodCallException»,…}

0
tour travel 21 Янв 2020 в 11:07

2 ответа

Лучший ответ

Используйте delete() вместо remove() !

Event::where('agent_id', $agent->id)->where('id', $request->id)->first()->delete();

Delete () против Уничтожить ()

1
Pedram 21 Янв 2020 в 08:58

Попробуй это

Event::where('agent_id', $agent->id)->where('id', $request->id)->first()->delete();
0
Vikas Katariya 21 Янв 2020 в 08:47