因此,我希望设置一个变量,稍后将其附加到资源路由的开头,我目前正在使用以下代码:
{!!
$baseDestinationImage=asset("img/uploads/destinations/");
!!}
<img src="{!! $baseDestinationImage.'/'.$destination->Dimage !!}" alt="{{$destination->Dname}}">
上面的方法工作正常,这里唯一的问题是变量$ baseDestinationImage也被回显,设置变量而不在Laravel 5.6中显示的最简单方法是什么?
答案 0 :(得分:1)
然后在控制器中使用。.
public class YourController{
...
public function index()
{
...
$baseDestinationImage=asset("img/uploads/destinations/");
return view('your.blade.view', compact('baseDestinationImage'));
}
}
刀片中
<img src="{{ $baseDestinationImage }}" />
答案 1 :(得分:0)
您不应在Blade模板中设置变量。不过,如果您仍然想这样做,则可以使用@php
指令嵌入PHP代码:
@php
$baseDestinationImage=asset("img/uploads/destinations/");
@endphp
答案 2 :(得分:0)
您可以使用eloquent Accessors and mutators进行操作 当您在模型实例上检索或设置雄辩属性值时,可以使用这些格式设置雄辩属性值。
所以您的模型应该像这样:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
public function getPhotoAttribute($photo)
{
return $photo ? asset('your/path/' . $photo) : '';
}
}
在刀片上,您可以像这样使用它:
{{ $object->photo }}