分形变换器可选模型列

时间:2016-09-06 15:35:19

标签: php laravel laravel-5 transformer

我在Laravel 5中使用分形变形金刚。我有:

namespace App\Transformers;

use App\Models\Cake;
use League\Fractal\TransformerAbstract;

class CakeTransformer extends TransformerAbstract
{
    protected $availableIncludes = [
        'user',
        'description'
    ];
    public function transform(Cake $cake)
    {
        $ar = [
            'name' => $cake->name,
            'url_name' => $cake->url_name,
            'user' => $cake->user->screenname,
            'date_created' => $cake->created_at
        ];

        return $ar;
    }

    public function includeUser(Cake $cake)
    {
        return $this->item($cake->user, new UserTransformer());
    }

    public function includeDescription(Cake $cake) {
        return $cake->description;
    }
}

上述方法不起作用,因为includeDescription没有返回正确类型的对象,但从上面你可以看到我正在尝试做的事情。

例如,在我的搜索中,我想要带回的数据少于我加载有关搜索项目的整个页面的数据。例如。对于搜索我不想加载描述,但是对于包含我想要的产品的详细信息的页面。

我怎样才能做到这一点?

0 个答案:

没有答案