【发布时间】:2015-02-21 01:03:50
【问题描述】:
我在“产品”模型中有这个来映射产品和条形码之间的一对多关系:
public function barcodes(){
return $this->hasMany('Barcode', 'productId', 'id')->select(['barcode', 'productId']);
}
接下来,这段代码不仅提供了产品,还提供了对象数组中的每个条形码。
public function search(){
$results = Product::with('barcodes')->where('name', 'LIKE', 'theQueryString')->get();
return Response::json($return);
}
这是一个示例输出:
{
"results": [
{
"id": 1,
"name": "Warehouse Box",
"created_at": "2034-12-14 06:57:52",
"updated_at": "2064-12-14 06:27:52",
"barcodes": [
{
"barcode": "0750028400400",
"productId": 1
},
{
"barcode": "123456789",
"productId": 1
}
]
}
]
}
我希望“条形码”只是一个值数组,而不是返回一个对象数组的“条形码”。
换句话说,我想返回每个条形码对象中“条形码”列的值,而不是对象本身。
这是我想要的样子:
{
"results": [
{
"id": 1,
"name": "Warehouse Box",
"created_at": "2034-12-14 06:57:52",
"updated_at": "2064-12-14 06:27:52",
"barcodes": [
"0750028400400",
"123456789"
]
}
]
}
在 Laravel 中使用 Eloquent 是否有一种快速而聪明的方法?
【问题讨论】: