从DB Facade En PHP laravel获取数据

时间:2019-02-18 02:54:15

标签: php laravel laravel-facade

我在php laravel中有这个查询

$query = DB::select("SELECT * FROM solicitudes WHERE id = 5");

我的表“ solicitudes”具有“ id,ticulo,provedor”列

查询结果只有一行,我想取“ titulo”的值。 我用这样的东西尝试...

$nombrep = 'nombre'.$query->titulo;

但这会引发错误

  

试图获取非对象的属性“ id”

2 个答案:

答案 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查询构建器是比较干净的事情。