Eloquent ORM - 如何使用WHERE获取对象?

时间:2013-07-20 14:54:11

标签: laravel laravel-4 eloquent

我想使用where从我的表中选择一个对象,如下所示:

$obj = Product::where('column_name', '=', 'string')->get();

但是$ obj在json中。

如何获得普通物体?

3 个答案:

答案 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()该对象看到它实际上是一个雄辩的对象。