我正在尝试从Spatie的laravel-medialibrary加载所有标识类型的urls:
然后,他们将使用json-response。
理想情况下,库的工作方式如下:
# Get all clients with url to logotype (small)`
Client::with('media.logotype', function ($q) {
$q->where('mediaConversion', 'small')->getUrl();
})->get()
# Get all clients with all urls for media:logotype
Client::with('media.logotype', function ($q) {
$q->getUrl();
})->get()想法?
发布于 2021-03-15 18:47:30
我得到了josn作为它,然后我创建了另一个变量容器,URL,如果它只是在图像上,那么:
foreach ($doctors as $doctor)
if ($doctor->image != null)
$image_url = '';
$image_url = $doctor->image->thumbnail;
$doctor->image_url = $image_url;然后,我通过向隐藏数组中添加image、media来隐藏原始数组(如果没有,则只需在模型中创建变量)
protected $hidden = ['media', 'image'];如果你有多个镜像,你可以这样做:
$images_url = [];
foreach($portfolio->images as $images){
$images_url[] = $images->url;
}
$portfolio->images_url = $images_url;另一个例子
public function show($doctor_id)
{
$portfolios = Portfolio::where('doctor_id', $doctor_id)->get();
foreach ($portfolios as $portfolio) {
$images_url = [];
foreach ($portfolio->images as $images) {
$images_url[] = $images->url;
}
$portfolio->images_url = $images_url;
}
return new PortfolioResource($portfolios);
}https://stackoverflow.com/questions/63517988
复制相似问题