Laravel не найти предмет по идентификатору - PullRequest
0 голосов
/ 21 января 2020

Я застрял в середине чего-то, чтобы удалить один элемент из 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();

но возвращаемое значение true:

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();

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

Ответы [ 2 ]

1 голос
/ 21 января 2020

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

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

Удалить () против Уничтожить ()

0 голосов
/ 21 января 2020

Попробуйте это

Event::where('agent_id', $agent->id)->where('id', $request->id)->first()->delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...