【发布时间】:2022-01-05 16:17:12
【问题描述】:
我正在尝试将刀片中的条件(三元)运算符添加到 Laravel,例如:
<select name="staff" id="staff" class="form-control placeholder>
<option value="0">{{ __('messages.Select Staff') }}</option>
@if($staff != "Empty Staff")
@foreach ($staff as $item)
<option value="{{ $item->id}}" {{$item->stafftime->states == 'open' ? 'disabled' : ''}}>{{$item->name}}</option>
@endforeach
@else
<option value='0'> __('messages.Empty Staff')</option>
@endif
</select>
在我的模范员工和员工时间喜欢打击:
protected $table = "stafftimes";
protected $fillable = [
'id', 'starttime', 'endtime', 'states', 'staff_id', 'created_at', 'updated_at'
];
protected $hidden = []; // Hide The Variable from select
public function staff()
{
return $this->belongsTo('App\Models\Staff', 'staff_id', 'id');
}
在我的员工模型中,例如:
protected $table = "staffs";
protected $fillable = [
'id', 'name', 'mobile'
];
protected $hidden = []; // Hide The Variable from select
public $timestamps = false;
public function stafftime()
{
return $this->hasMany('App\Models\Stafftime', 'staff_id', 'id');
}
我有一个错误
此集合实例上不存在属性 [states]
【问题讨论】:
-
stafftime关系是“有很多”关系,因此它返回一个集合而不是单个模型实例......它返回一个可能包含许多StaffTime模型的集合......你会必须从该集合中获取单个模型才能访问该模型的属性 -
那么解决办法是什么!!
-
“您必须从该集合中获取单个模型才能访问该模型的属性” ...您要访问该集合中的多个潜在模型中的哪个
states属性? -
集合中可能有许多
StaffTime模型实例...您想访问其中的哪一个?如果集合中有 10 个,您想访问哪个特定的 ONE? -
再一次,集合可以有很多很多记录,您要对这些记录中的哪一个进行'states'属性检查,看看它是否设置为'open'?
标签: php laravel laravel-blade