4

Laravel プロジェクトで Transformer を使用しています。Transformer に他のオブジェクトを含めない場合は問題ありませんが、Customerオブジェクトを含めると次のエラーが発生します。

App\Transformers\CustomerTransformer::transform() に渡される引数 1 は App\Models\Customer のインスタンスである必要があり、ブール値が指定され、/home/vagrant/Code/project/vendor/league/fractal/src/Scope.php で呼び出されます365行目で定義されています

オブジェクトを印刷したときScope.php、ブール値はありませんでした。何が問題なのですか?( Review の後にコードがクラッシュし#298ます。

ここに画像の説明を入力

コードの呼び出し方法:

$reviews = $this->review->paginate();
$transformer = new ReviewTransformer();
$with = $request->get('with', null);
if($with) {
    $with = explode(';', $with);
    $transformer->parseIncludes($with);
}
return $this->response->paginator($reviews, $transformer); 
4

1 に答える 1

8

問題を修正しました、私はばかです..

Transformer クラスに次のものが含まれていました。

public function includeCustomer(Review $review) 
{
    $customer = $review->customer;
    return $this->collection($customer, new CustomerTransformer);
}

問題は$customer、コレクションではなくアイテムであることです。に変更this->collectionする必要がありましたthis->item

于 2016-09-20T08:00:51.817 に答える