Использование WHERE в Laravel возвращает пустой массив - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь сделать ГДЕ в Ларавеле.У моей модели id_usuario,, и в моей базе данных у меня есть пять строк с id_usuario = 3, но Laravel возвращает только пустой массив.

Контроллер

<?php

public function show(Request $request)
{
    $animaisPerdidos = AnimalPerdido::where('id_usuario', $request->id);

    return response()->json($animaisPerdidos);
}

Маршрут

Route::get('selectanimalperdido', 'AnimalPerdidoController@show');

В Почтальоне

enter image description here

Модель

class AnimalPerdido extends Model
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */

    protected $table = 'animais_perdidos';

    protected $fillable = [
        'id', 'id_usuario', 'lat', 'lng', 'id_tipo_pet', 'raca', 'id_sexo', 'data', 'possui_identificador', 'id_cores', 'informacoes_adicionais', 'nome_identificador', 'foto'
    ];  

}

Ответы [ 4 ]

0 голосов
/ 01 декабря 2018

Просто добавьте " -> get () " в конце запроса, как показано ниже:

AnimalPerdido::where('id_usuario', $request->id)->get();
0 голосов
/ 01 декабря 2018

Вам нужно $ request-> input ('id');

https://laravel.com/docs/5.7/requests#accessing-the-request

0 голосов
/ 01 декабря 2018

используйте приведенный ниже код для вашего контроллера: " get () , если вы хотите массив, или first () , если вы хотите первый результат":

public function show(Request $request)
{
    $animaisPerdidos = AnimalPerdido::where('id_usuario', $request->id)->get();

    return response()->json($animaisPerdidos);
}
0 голосов
/ 01 декабря 2018

Изменение:

Route::get('selectanimalperdido', 'AnimalPerdidoController@show

на

Route::get('selectanimalperdido/{id}', 'AnimalPerdidoController@show');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...