Laravel:同一查询的不同json输出

时间:2017-08-24 22:09:50

标签: javascript php jquery laravel laravel-5

我有一个laravel应用程序,其中路线" / phones / brand / {brand_id}"返回与该品牌相关的所有手机。除了brand_id 1之外的其他品牌,输出效果不同。

/ phones / brand / 1结果

[{"id":1,"phone_model_id":1,"model":"Iphone 5"},
{"id":2,"phone_model_id":1,"model":"Iphone 5s"},
{"id":3,"phone_model_id":1,"model":"Iphone 6"}]

/ phones / brand / 2结果

{"3":{"id":6,"phone_model_id":2,"model":"galaxyy s3"}}

我无法使用此数据,因为它会在javascript中返回空插槽。

控制台日志:

Object [ <3 empty slots>, Object ]  script.js:84:11

这也是该端点的控制器操作的代码。

public function showByBrand($brand)
{

return Phone::all()->where('phone_model_id', '=', $brand);

}

1 个答案:

答案 0 :(得分:3)

使用->all()将立即返回所有记录。您希望使用->where()方法后跟->get(),然后检索这些已过滤的记录。

试试这个:

public function showByBrand($brand)
{

return Phone::where('phone_model_id', '=', $brand)->get();

}