在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');
在邮递员
模型
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() 返回空对象而不是空数组