【发布时间】:2018-12-18 17:09:07
【问题描述】:
我有以下雄辩的模型(删除代码以简化此问题)。我正在尝试获取第一张图片
class Design extends Model
{
use SoftDeletes;
protected $guarded = ['id','tags','keywords'];
public function images()
{
return $this->hasMany(DesignImage::class);
}
...
}
class DesignImage extends Model
{
use SoftDeletes;
public function design()
{
return $this->belongsTo(Design::class);
}
}
然后我将以下代码传递给刀片模板
$data['designs'] = Design::where('quantity','>',0)->get();
return view('mailings.form',$data);
模板(工作正常;我得到所有图像的名称
@foreach($design->images as $image)
{{ $image->name }}
@endforeach
但如果我尝试
{{ $design->images->first()->name }}
我得到 Trying to get property 'name' of non-object`
如果我尝试
{{ $design->images[0]->name }}
我得到未定义的偏移量:0
如果我这样做了
@json ($design->images->first())
我得到(有效)
{"id":1,"name":"Image 1 Design 1","thumb":"images/main_thumb.jpg","image":"images/main_large.jpg","design_id":1 ,"created_at":"2018-12-11 20:10:03","updated_at":"2018-12-11 20:10:03","deleted_at":null}
如何获得刀片模板中的第一张图片?为什么我得到这个奇怪的输出?
【问题讨论】:
标签: laravel laravel-blade