2017-04-09 78 views
0

如何獲取請求中屬性的名稱,我需要以字符串格式自動獲取名稱。例如:如何以字符串格式獲取請求中屬性的名稱

$request->some_attribute 

是否有一種PHP方式來提取此屬性名稱爲字符串?

我想避免這樣做

Setting::set($section, 'enable', $request->enable); 
    Setting::set($section, 'type', $request->type); 
    Setting::set($section, 'must_be_registered', $request->must_be_registered); 

我想這樣做:

Setting::set($section, $request->enable); 
    Setting::set($section, $request->type); 
    Setting::set($section, $request->must_be_registered); 

這是一套功能的外觀:

靜態公共功能集($節,$ key,$ value)

我想盡量避免必須通過我必須hardc頌歌,如果我能在某種程度上得到串什麼,我是指用$請求 - >然後我wuold

 $setting->section = $section; 
     $setting->key = magic_function($request->enable); 
     $setting->value = $value; 

現在關鍵將持有的屬性的名稱,而不是價值

「啓用」,等等

難道不可以這樣做嗎?請求已經具有我發送的屬性的所有名稱,我只想避免必須在Controller中手動輸入這些名稱,因爲我希望將值存儲到刀片中完全按名稱命名的特定密鑰中,因爲我需要將其命名爲數據庫。

+0

你的意思是HTML元素的屬性,如div ID? – Vbudo

+0

我正在使用Laravel併發送一個POST請求給控制器一些變量,我可以通過$ request-> title等來訪問這些請求。我想知道是否有一種方法可以將屬性標題轉換爲字符串,而無需我在控制器中對其進行硬編碼? –

回答

2

不太知道我理解的問題,但我認爲你要這個......

foreach($_POST as $key=>$value) 
{ 
    echo "$key=$value"; 
} 
+0

你可以檢查我更新的問題,我需要能夠提取字符串中的鍵名,但不是通過循環,我需要能夠通過關鍵基礎知識,而不是在循環中提取它。 –

+0

對不起,我恐怕不完全明白你需要什麼。如果你不想在循環中實現代碼,你可能需要考慮的一件事就是將鍵和/或值存儲在一個變量(可能是一個數組)中,然後在需要時使用它們。循環將它們存儲在一個變量中供以後使用。 – Vbudo

+0

我需要密鑰的名稱,是否有可能沒有循環? –

0

如果我理解正確的,你想要做的就是讓一個HTML標籤的屬性。例如,這個標籤

<input type="text" name="some_name" value="some_value" title="some_title"> 

你知道你可以取它做$request->some_name值,但是你想通過做$request->title也進入「some_title」。

這不能這樣做,Laravel無法像在JavaScript中那樣閱讀HTML樹。到acheive你想要什麼,雖然

的一種方式,是有一些隱藏的輸入字段的形式,像這樣:

這樣一來,你就可以在你的要求來訪問值通過做$request->title

+0

嗨吉恩,你沒有正確理解我,我會用直接示例更新我的問題,我想完成,請檢查。我確信這與laravel毫無關係,它純粹是PHP的事情,它必須有可能做到,可能有一些神奇的方法。 –

相關問題