我想使用where
从我的表中选择一个对象,如下所示:
$obj = Product::where('column_name', '=', 'string')->get();
但是$ obj在json中。
如何获得普通物体?
答案 0 :(得分:2)
$product = Product::where('model','like', '%table%')
->orderBy('price', 'desc')
->get();
var_dump($product);
将为您提供对象的Eloquent Colection,而不是jSON
var_dump($product->toJson());
将为您提供JSON对象
但你也应该考虑基本查询。
$product = DB::table('product')->select('id', 'model')
->where('product_id' , '=' , $id)
->get();
对于所有对象的收集,请使用:
$products = Product::all();
等
$product = Product::find($id);
答案 1 :(得分:2)
使用first()
方法获取对象(假设您只需要处理一个结果)。
使用get()
方法将返回一个数组,因为查询构建器不知道您是否只有一个或多个结果。
希望这可以解决您的问题。
答案 2 :(得分:0)
如果您将Eloquent对象返回给客户端,那么它将表示为JSON(适用于API)。 var_dump()
该对象看到它实际上是一个雄辩的对象。