Php 为什么这个资源收集不起作用?
ResourceCollection未提供ResourceCollection 我正在尝试提供一个我的表集合,以显示一个大容量(索引)或数据库中的所有表 似乎有一个bug导致ResourceCollection无法工作,我应该检查什么 Resource\Order.phpPhp 为什么这个资源收集不起作用?,php,laravel,Php,Laravel,ResourceCollection未提供ResourceCollection 我正在尝试提供一个我的表集合,以显示一个大容量(索引)或数据库中的所有表 似乎有一个bug导致ResourceCollection无法工作,我应该检查什么 Resource\Order.php <?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\ResourceCollection; class Order exte
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class Order extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'data' => $this->collection,
];
}
}
编辑:
我收到以下错误消息:
Property [carts] does not exist on this collection instance.
Resources\Cart.php
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class Cart extends ResourceCollection
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return parent::toArray($request);
}
}
将雄辩的模型集合直接传递给资源的构造函数
Route::get('/orders/bulkindex/',函数(){
返回OrderResource(Order::all());
});
从
定义资源集合后,它可能会从路由或控制器返回:
使用App\Http\Resources\UserCollection;
使用App\User;
路由::获取('/users',函数(){
返回新的UserCollection(User::all());
});
不要调用静态方法::collection()
希望这有助于发布路线代码或controller@Saly3301完成,请参见上文!资源集合类是否命名为Order
或OrderResource
?第一条路径在哪里?哪一个文件?在你的代码> API.PHP<代码>中,只需替换你所添加的代码,如果它解决了上面的问题,请考虑接受答案。对不起,你不能在同一个帖子上问多个问题,请提出一个新问题,我会尽力帮助你
use App\Http\Resources\Cart as CartResource;
return [
'data' => $this->collection,
'carts' => CartResource::collection($this->carts), // CODE DOES NOT WORK
];
Property [carts] does not exist on this collection instance.
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class Cart extends ResourceCollection
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return parent::toArray($request);
}
}