我正尝试在Laravel模型中创建一个自定义属性。这个属性对于所有的Model实例都是一样的(static?)。目标是在创建Model实例时使用此属性填充选择下拉列表。例如:在Laravel模型中创建自定义变量/属性
class User extends Model
{
protected $table = 'users';
protected $guarded = [ 'id' ];
public $timestamps = true;
protected $genders = ['male'=>'Male', 'female'=>'Female']; //custom
public static function getGenderOptions() {
return $genders;
}
}
然后建立表单时,我可以这样做:
// UserController.php
$data['select_options'] = User::getGenderOptions();
return view('user.create', $data);
// create.blade.php
{!! Form::select('gender', $select_options) !!}
这使我得到的错误:
Undefined variable: genders
我试图避免杂乱我的控制器与所有的选择选项,因为还有一些我没有包括在内。
谢谢。
谢谢,这个工作。现在,这些选项仅用于用户,但如果它们开始在别处使用,那么我打算将它们移动到某种配置。 – Stetzon