Form üyeleri herkese merhaba,Laravel Fractal bakıyorum.
protected $availableIncludes = ['posts','detail'];
public function transform(User $user)
{
return [
'name' => $user->name,
'email' => $user->email,
'posts_count'=>$user->posts_count
];
}
public function includePosts(User $user)
{
$posts = $user->posts;
return $this->collection($posts, new PostTransformer());
}
public function includeDetail(User $user)
{
$detail=$user->detail;
return $this->item($detail,new UserDetailTransformer());
}
böyle bir transformer var elimde kişiye ait detay bilgileri bir tabloda tutuyorum(user hasOne detail)
ve kişinin oluşturduğu postlarda post tablsonuda(user hasMany posts)
transformerdan kişiye ait gelen posts veya detail null gelince böyle bir hata alıyorum.
Argument 1 passed to App\Transformers\User\UserDetailTransformer::transform() must be an instance of App\Models\UserDetail\UserDetail, null given, called in
eğer boş gelmezse istediğim sonucu alıyorum bunun önüne nasıl geçebilirim.
bir route ait fonksiyonda böyle kullanıyorum transformerı.
$user=User::where('id',1)->withCount('posts')->with(['posts','detail'])->first();
return fractal()->item($user,new UserTransform())->parseIncludes(['posts','detail'])->toArray();