【发布时间】:2025-12-27 10:55:12
【问题描述】:
我尝试在我的资源数组中包含一个关系,如果它已经被预先加载,但不要让它工作。
任何人都有一个想法,我如何检查 ResourceCollection 中的关系?
这是我的帖子模型
class Post extends Model
{
function categories() {
return $this->belongsToMany('App\Category');
}
}
这是我的类别模型
class Category extends Model
{
function posts() {
return $this->belongsToMany('App\Post');
}
}
这是我的后期控制器
Class PostController extends Controller
{
public function index()
{
return new PostResourceCollection(Post::with("categories")->get());
}
}
这是我的帖子资源集合
class PostResourceCollection extends ResourceCollection
{
public function toArray($request)
{
return [
'data' => $this->collection->transform(function($page){
return [
'type' => 'posts',
'id' => $page->id,
'attributes' => [
'name' => $page->title,
],
];
}),
//'includes' => ($this->whenLoaded('categories')) ? 'true' : 'false',
//'includes' => ($this->relationLoaded('categories')) ? 'true' : 'false',
];
}
}
【问题讨论】:
-
你管理这个工作了吗?
-
不再与 Laravel 打交道,但在下面找到了答案。这似乎在这个时间点起作用
标签: laravel