I have two files,
CommentTransformer
And
ImageTransformer
In the first file, CommentTransformer
, I can retrieve which Article it belongs to by doing this:
$article = Article::find($comment->article_id);
I'm doing the same exact thing in my ImageTransformer, but it returns null
. Even if instead of using Article::find($image->article_id)
I use Article::find(1)
I still get a null result!
Here's the full code:
namespace App\Transformers;
use App\Article;
use App\User;
use App\Image;
use League\Fractal\TransformerAbstract;
class ImageTransformer extends TransformerAbstract
{
/**
* A Fractal transformer.
*
* @return array
*/
public function transform(Image $image)
{
$user = User::findOrFail($image->user_id);
$article = Article::find($image->article_id);
// $userArticle = User::find($article->user_id);
return [
'id' => (int) $image->id,
'original_filename' => $image->original_filename,
'filename' => $image->filename,
'size' => (int) $image->size,
'path' => url('/') . "/" . $image->path . '/' . $image->filename,
'posted_by_username' => $user->name,
'article' => $article //if I call $article->id it returns "Trying to get property of non-object" as it is, it returns null
];
}
}
This is the response:
{
"data": [
{
"id": 1,
"original_filename": "ptd.jpg",
"filename": "f11bbe288649e76ec3b694890160abf930601aed.jpeg",
"size": 103297,
"path": "http:\/\/192.168.1.85:1299\/uploads\/f11bbe288649e76ec3b694890160abf930601aed.jpeg",
"posted_by_username": "josh beck",
"article": null
}
]
}