在使用存储库模式之前,我可以在对象模型上调用方法getImage()
class Product extends Eloquent{
public funtion getImage(){
//some query to database
}
}
因此,如果我将此类的对象传递给视图,我可以在我的视图中使用simple:
<img src="{{$product->getImage()}}"
但是,现在我实现了RepositoryPatter,所以我把getImage()移到了ProductRepository
class ProductRepository{
public function getImage(){
//some query to database
}
}
那么,如果我还想使用$ product-&gt; getImage(),我应该怎么办?在我看来
答案 0 :(得分:0)
我想到了几种方法来解决这个问题,具体取决于您的存储库返回的数据以及您需要如何使用此方法。
1)如果您需要产品或产品列表,并且需要所有产品来获取图像,您可以在回购中定义新方法:
getProductsWithImages()
{
//here you retrieve the needed products (that you already do) and retrieve and assign the images
}
所以你可以在模板中执行此操作:
<img src="{{ $product->image }}" ...
2)你的存储库可能会返回你自己的类的对象(ProductEntity或类似的东西),它可以有一个&#34; getImage&#34;方法
这样您当前的模板应该按原样运行。
3)你可以拥有另一个帮助&#34;获得所需图像的课程或服务:
<img src="{{ ProductHelper::getImage($image) }}" ...