在Laravel中使用WHERE返回空数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Laravel中使用WHERE返回空数组相关的知识,希望对你有一定的参考价值。

我正试图在Laravel做一个WHERE。我的模型有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'
    ];  

}
答案

只需在查询结尾附加“ - > get()”,如下所示:

AnimalPerdido::where('id_usuario', $request->id)->get();
另一答案

如果你想要一个数组,请使用下面的代码为“get()”,如果你想要第一个结果,则使用first():

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

    return response()->json($animaisPerdidos);
}
另一答案

变化:

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

Route::get('selectanimalperdido/{id}', 'AnimalPerdidoController@show');
另一答案

你需要$ request-> input('id');

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

以上是关于在Laravel中使用WHERE返回空数组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel response()->json() 返回空对象而不是空数组

Laravel api在邮递员中返回值,但在Vue js中返回空数组

Laravel 中的 Ajax 请求返回一个空对象

为啥 laravel 返回一个空数组来表示一个有很多关系?

为啥 laravel 返回一个空数组来表示一个有很多关系?

为啥 laravel 雄辩的关系返回空数组