我使用setColumns方法在视图中显示了一些列数据,如下所示:
$this->crud->setColumns([
(['name'=>'expire_date','lable'=>'Expire Date']),
(['name'=>'username','lable'=>'User']),
(['name'=>'prize_id','lable'=>'Prize']), /* New Column(must be hidden by default) */
(['name'=>'gifted_from','lable'=>'Gifted From']) /* New Column(must be hidden by default) */
]);
我期望发生的事情:
现在在同一个列表中,我想添加更多列,以便在列表视图中显示。但默认情况下,这些列应该隐藏在列表视图中,我希望新添加的隐藏列(在上面的列表中)可以通过column visibility
$this->crud->enableExportButtons();
选项显示
在laravel背包里有没有办法做到这一点?
答案 0 :(得分:1)
您可以将要隐藏的字段添加到模型上的hidden
属性中:
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = ['attribute'];
然后,您可以通过调用makeVisible
方法暂时显示字段:
$user->makeVisible('attribute')
上的文档
答案 1 :(得分:0)
有点晚了,但您可以对默认情况下要隐藏的列执行 'visibleInTable' => false
。您将能够在 column visibility
选项中显示它。
例如:
[
'name' => 'email',
'label' => "Username",
'visibleInTable' => false,
],