2015-02-21 3 views
17

स्टैकर्स! मैं वर्तमान में लार्वेल 5 सीख रहा हूं और मुझे यह पसंद है, लेकिन मैं एक चीज़ से संघर्ष कर रहा हूं। Laravel 5 जब से हम मिडिलवेयर जो हम इस तरह नियंत्रक के निर्माण कार्य में उपयोग कर सकते हैं, है:लैरवेल 5 - नियंत्रक फ़ाइल में एकाधिक मार्गों के लिए मिडलवेयर परिभाषित करना

नियंत्रक फ़ाइल:

public function __construct() 
{ 
    $this->middleware('admin', ['only' => 'create']); 
} 

अब क्या मैं चाहता हूँ होने के लिए^(मार्गों फ़ाइल में नहीं) यहाँ परिभाषित करने के लिए मध्यस्थ है 'व्यू', 'एडिट' और 'शो' जैसे कई विचारों में प्रयोग किया जाता है।

public function __construct() 
{ 
      $this->middleware('admin', ['only' => 'create|edit|show']); 
} 

दुर्भाग्य से काम नहीं करता है। मैं मार्गों का उपयोग नहीं करना चाहूंगा। कोई विचार, प्रिय दोस्तों?

+0

हाय, मैं कैसे दो भूमिकाओं के लिए इस का उपयोग करते हैं, मान लीजिए कि व्यवस्थापक सभी तरीकों और प्रबंधक की पहुंच है केवल बनाने के लिए उपयोग किया है, संपादित करें , दिखाओ कि मैं यह कैसे कर सकता हूं? इस तरह के कुछ के लिए मिडलवेयर कैसे लिखें। –

उत्तर

26

सीधे शब्दों में | सीमांकक के साथ एक स्ट्रिंग के बजाय एक सरणी पारित:

public function __construct() 
{ 
    $this->middleware('admin', ['only' => ['create', 'edit', 'show']]); 
} 
+0

नमस्ते, मैं दो भूमिकाओं के लिए इसका उपयोग कैसे करूं, मान लें कि व्यवस्थापक के पास सभी विधियों तक पहुंच है और प्रबंधक को केवल बनाने, संपादित करने, दिखाने के लिए पहुंच है कि मैं यह कैसे कर सकता हूं? इस तरह के कुछ के लिए मिडलवेयर कैसे लिखें। –

+1

@ कनुकाएस्काका बस इसे $ $-> मिडलवेयर() 'दो बार – lukasgeiter

+0

ठीक कहें .. आपका मतलब है कि मेरे पास दो मध्यवर्ती होना चाहिए जिसे व्यवस्थापक और प्रबंधक कहा जाता है। लेकिन मुझे नहीं पता कि हैंडल विधि में इसे कैसे संभालना है .. सार्वजनिक फ़ंक्शन हैंडल ($ अनुरोध, क्लोजर $ अगला) { अगर (\ Auth :: उपयोगकर्ता() -> भूमिका == 'प्रबंधक') { सत्य लौटें; } $ $ ($ अनुरोध) लौटाएं; } क्या आप उदाहरण प्रदान कर सकते हैं। मूल रूप से मुझे प्रबंधक –

संबंधित मुद्दे