我在php laravel中有这个查询
$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");
我的表“ solicitudes”具有“ id,ticulo,provedor”列
查询结果只有一行,我想取“ titulo”的值。 我用这样的东西尝试...
$nombrep = 'nombre'.$query->titulo;
但这会引发错误
试图获取非对象的属性“ id”
答案 0 :(得分:0)
DB::select
返回数组。如果要使用->。试试这个:
$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");
$query = Illuminate\Support\Collection::make($query);
$nombrep = 'nombre'.$query[0]->titulo;
答案 1 :(得分:0)
考虑到$result = Solicitude::findOrFail(5);
表有一个Eloquent Model
:
id
这将返回单个实例,该实例表示具有5
(主键)为id
的单行。如果将引发错误,则不存在5
为$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");
的行;
使用时:
{{1}}
它给出一个数组。其次,即使您期望此查询应返回单个数组或对象,也不会返回。
它返回一个数组,其中包含代表行的单个对象。
如果定义了模型,那么使用ELoquent查询构建器是比较干净的事情。