当我在模型中创建一个名为“statuses”的变量并在控制器中调用它时,我得到了数组数据。但是,当调用第二个变量时,它返回 null 并在刀片中给我错误。
在模型中
/**
* Statuses.
*
* @var array
*/
protected $statuses = [
0 => 'InActive',
1 => 'Published',
2 => 'Draft',
3 => 'Scheduled',
];
/**
* Visibilities.
*
* @var array
*/
protected $visibilities = [
0 => 'Public',
1 => 'Private',
2 => 'Password Protected',
];
在控制器中
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$article = new Post();
$categories = Category::all();
$tags = Tag::all();
$statuses = $article->statuses;
$visibilities = $article->visibilities;
return view('posts.create', compact('categories','tags','statuses', 'visibilities'));
}
当dd($article)
我得到
当dd($statuses)
我得到
当我dd($visibilities)
在那里返回null时
而不是我在刀片中调用它
@foreach($visibilities as $key => $value)
<option value="{{ $key }}" {{ (isset($post->visibility) && $post->visibility == $key) ? 'selected' : '' }} >{{$value}}</option>
@endforeach
我收到一条错误消息
为 foreach() 提供的参数无效(查看:
我做错了什么来获得可见性的空回报?
编辑:我正在粘贴我的关系特征
namespace App\Models\Traits\Attributes;
trait BlogAttributes
{
/**
* @return string
*/
public function getActionButtonsAttribute()
{
return '<div class="btn-group" role="group" aria-label="'.trans('labels.backend.access.users.user_actions').'">'.
$this->getEditButtonAttribute('edit-blog', 'admin.blogs.edit').
$this->getDeleteButtonAttribute('delete-blog', 'admin.blogs.destroy').
'</div>';
}
/**
* Get Display Status Attribute.
*
* @var string
*/
public function getDisplayStatusAttribute(): string
{
return $this->statuses[$this->status] ?? null;
}
/**
* Get Statuses Attribute.
*
* @var string
*/
public function getStatusesAttribute(): array
{
return $this->statuses;
}
/**
* Get Display Visibility Attribute.
*
* @var string
*/
public function getDisplayVisibilityAttribute(): string
{
return $this->visibilities[$this->visibility] ?? null;
}
/**
* Get Visibility Attribute.
*
* @var string
*/
public function getDisplayVisibilitiesAttribute(): array
{
return $this->visibilities;
}
}