簡體   English   中英

Laravel 5.3獲取數組值

[英]Laravel 5.3 Get Array Value

我堅持從app \\ Helpers \\ Enums \\ DriverType.php獲取價值。

這是我的代碼:

<?php

namespace App\Helpers\Enums;

final class Gender {
const MALE = 0;
const FEMALE = 1;
public static function getList() {
    return [
        Gender::MALE,
        Gender::FEMALE,
    ];
}

public static function getArray() {
    $result = [];
    foreach (self::getList() as $arr) {
        $result[$arr] = self::getString($arr);
    }
    return $result;
}

public static function getString($val) {
    switch ($val) {
        case 0:
            return "Male";
        case 1:
            return "Female";
    }
}

}

?>

我的問題是如何從我的driver \\ create.blade中獲取數組中的值。 我努力了。

這是我的刀片代碼:

{!! Form::model($obj, 
[ 'url' => $route,
'method' => $method,
'id' => 'driverCreate',
]) !!} 
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Gender:</strong>
{!! Form::select('gender', array('Male', 'Female'), null, array('class' =>     'form-control')) !!}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 text-center">
<button type="submit" class="btn btn-primary" >Submit</button>
{!! Form::close() !!}
</div>

任何代碼需要弄清楚這是如何工作的?

共享變量以查看文件有多種選擇。

第一:
從Controller你可以傳遞變量

$genders = App\Helpers\Enums\Gender::getArray();
return view('view_name', compact($genders));

在你的刀片文件中只需使用$性別

{!! Form::select('gender', $genders, null, array('class' => 'form-control')) !!}

第二次直接打電話給班級

{!! Form::select('gender',App\Helpers\Enums\Gender::getArray(); , null, array('class' => 'form-control')) !!}

第三,可能最有用
您可以與以后可能需要的所有視圖共享性別。 在您的提供程序文件(建議使用AppServiceProvider)中添加這些行

namespace App\Providers;

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
    {
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $genders = App\Helpers\Enums\Gender::getArray();
        View::share('genders', $genders);
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

$gender變量將在您的所有視圖中提供。

Fourth View Composer Laravel推薦這個程序,我還沒有用過它,你可以在這里閱讀它

最后,您將獲得選擇值0或1作為您的選項,您可以獲得枚舉值

 $gender = Input::get('gender');
 $genderEnum = App\Helpers\Enums\Gender::getArray()[$gender];
 // or write another method for.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM