我有一对一关系的Post和User模型,它运作良好:
//User.php
public function post(){
return $this->hasOne(Post::class);
}
// Post.php
public function user() {
return $this->belongsTo(User::class);
}
Run Code Online (Sandbox Code Playgroud)
现在我创建API资源:
php artisan make:resource Post
php artisan make:resource User
Run Code Online (Sandbox Code Playgroud)
我需要通过api调用返回所有帖子然后我设置我的路线:
//web.php: /resource/posts
Route::get('/resource/posts', function () {
return PostResource::collection(Post::all());
});
Run Code Online (Sandbox Code Playgroud)
这是我的帖子资源类:
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
use App\Http\Resources\User as UserResource;
class Posts extends Resource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'title' => $this->title, …Run Code Online (Sandbox Code Playgroud)