使用 laravel 一次调用多个 API 资源
Multiple API Resources in one call using laravel
我正在为 laravel 使用 API 资源将资源转换为数组以供 API 调用,它工作正常,我是否可以检索多个模型的数据在一次通话中?至于获取 JSON 用户数据以及页面 JSON ?或者我需要为此单独打电话。
这是我到目前为止所尝试的
//Controller
public function index(Request $request)
{
$users = User::all();
$pages = Page::all();
return new UserCollection($users);
}
//API Resource
public function toArray($request)
{
return [
'name' => $this->name,
'username' => $this->username,
'bitcoin' => $this->bitcoin,
];
}
我们将不胜感激任何帮助
您可以执行以下操作:
public function index(Request $request)
{
$users = User::all();
$pages = Page::all();
return [
'users' => new UserCollection($users),
'pages' => new PageCollection($pages),
];
}
我正在使用 laravel 6.x
,我不知道 laravel 正在转换响应或做某事,但我 得到的响应是 JSON
也有以下条件:
class HomeController extends Controller
{
public function index()
{
return [
'advertisements' => new AdvertisementCollection(Advertisement::latest()->get()),
'banners' => new BannerCollection(Banner::latest()->get()),
'sliders' => new SliderCollection(Slider::latest()->get())
];
}
}
laravel 6..
如果您喜欢下面的内容,这应该 100% 有效,您实际上帮助我解决了我遇到的问题,这是 return 的帮助:3。
更改以下内容:
'advertisements' => new AdvertisementCollection(Advertisement::latest()->get()),
到
(将使用 vatiable 或仅使用海峡数据库查询)
'advertisements' => AdvertisementCollection::collection(Advertisement::latest()->get())
class HomeController extends Controller
{
public function index()
{
$ads = Advertisement::latest()->get();
$banners = Banner::latest()->get();
$sliders = Slider::latest()->get()
return [
'advertisements' => AdvertisementCollection::collection($ads),
'banners' => BannerCollection::collection($banners),
'sliders' => SliderCollection::collection($sliders),
];
}
}
我正在为 laravel 使用 API 资源将资源转换为数组以供 API 调用,它工作正常,我是否可以检索多个模型的数据在一次通话中?至于获取 JSON 用户数据以及页面 JSON ?或者我需要为此单独打电话。
这是我到目前为止所尝试的
//Controller
public function index(Request $request)
{
$users = User::all();
$pages = Page::all();
return new UserCollection($users);
}
//API Resource
public function toArray($request)
{
return [
'name' => $this->name,
'username' => $this->username,
'bitcoin' => $this->bitcoin,
];
}
我们将不胜感激任何帮助
您可以执行以下操作:
public function index(Request $request)
{
$users = User::all();
$pages = Page::all();
return [
'users' => new UserCollection($users),
'pages' => new PageCollection($pages),
];
}
我正在使用 laravel 6.x
,我不知道 laravel 正在转换响应或做某事,但我 得到的响应是 JSON
也有以下条件:
class HomeController extends Controller
{
public function index()
{
return [
'advertisements' => new AdvertisementCollection(Advertisement::latest()->get()),
'banners' => new BannerCollection(Banner::latest()->get()),
'sliders' => new SliderCollection(Slider::latest()->get())
];
}
}
laravel 6..
如果您喜欢下面的内容,这应该 100% 有效,您实际上帮助我解决了我遇到的问题,这是 return 的帮助:3。 更改以下内容:
'advertisements' => new AdvertisementCollection(Advertisement::latest()->get()),
到 (将使用 vatiable 或仅使用海峡数据库查询)
'advertisements' => AdvertisementCollection::collection(Advertisement::latest()->get())
class HomeController extends Controller
{
public function index()
{
$ads = Advertisement::latest()->get();
$banners = Banner::latest()->get();
$sliders = Slider::latest()->get()
return [
'advertisements' => AdvertisementCollection::collection($ads),
'banners' => BannerCollection::collection($banners),
'sliders' => SliderCollection::collection($sliders),
];
}
}