我有以下雄辩的模型(删除了代码,使这个问题变得简单)。我正在努力得到第一个图像
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 }}
我试图获取非对象的属性“name”`
如果我尝试
{{ $design->images[0]->name }}
我得到未定义的偏移量:0
然而,如果我这样做
@json ($design->images->first())
我得到(有效)
{"id": 1,"name":"Image 1 Design 1","拇指":"图像/main_thumb.jpg","图像":"图像/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}
如何在刀片模板中获得第一个图像?为什么我得到这个奇怪的输出?
出现错误是因为最新的$design
没有图像
。试试这个代码
@foreach($designs as $design)
// your code
@php
$firstImage = $design->images()->first();
@endphp
{{ !empty($firstImage->name) ? $firstImage->name : ''}}
// other part ofcode
@endforeach
您还可以在控制器中使用优化此代码
$data['designs'] = Design::where('quantity','>',0)->with('images')->get();
return view('mailings.form',$data);
鉴于
@foreach($designs as $design)
// your code
@php
$firstImage = $design->images->first();
@endphp
{{ !empty($firstImage->name) ? $firstImage->name : ''}}
// other part ofcode
@endforeach
问题内容: 我正在阅读Laravel Blade 文档,但无法弄清楚如何在模板内分配变量以供以后使用。我不能这样做,因为那会回显“任何内容”,而我不希望那样。 我知道我可以做到,但这并不优雅。 在Blade模板中是否有更好,更优雅的方法来做到这一点? 问题答案: 不建议在视图中进行操作,因此没有刀片标签。如果您确实想在刀片视图中执行此操作,则可以在编写时打开一个php标签,也可以注册一个新的刀片标
我正在为一个在Laravel中完成的站点编写代码,我知道不建议在Blade模板中编写PHP代码,但在这个例子中,我的可用时间有限。 中间的PHP代码不起作用?
你好,我正试图建立一对多的关系。用户表中的一个用户可以有多个公司,另一边的公司只能有一个用户。 我的公司表迁移是 我的用户模型是 我的公司模式是 我正试图获得特定用户的所有公司 尝试使用whereHas,但对象中没有数据 我的错误在哪里?
我有一个引导滑块,显示最近的帖子,我想要得到3个帖子的标题和图像,并把他们放在img scr和p中,我想把每个项目单独带来,以便能够把它放在代码里面
简介: 我有这些表与他们的模型: 地址表-- 规则: 每个用户只能有一个地址 这里可以进行两种可能的关系规划: > 用户有一个地址和地址属性To User[即一对一关系],但缺点是外键位于地址表中,即user_id字段,通过与其他模型[公司和财产]重复相同的关系,我们将获得地址表中的另外两个外键是[company_id和property_id],那么我们将最终得到3个外键用于3个型号,但每行记录只
在我的观点中,我扩展了一个刀片模板,它充当我的主模板。我有一个ViewComposer设置,它为这个模板提供了许多变量。 我遇到了一种情况,需要在是启动函数的页面。 通过ViewComposer传递的变量是否达到初始视图的范围?或者我需要创建另一个ViewComposer来传递相同的变量。 这最终给了我一个未定义的变量错误。