2016-11-19 24 views
5

मैं लार्वेल 5.1 में पिछले मार्ग का नाम ढूंढने का प्रयास करता हूं। के साथ:लार्वेल में पिछला मार्ग नाम 5.1-5.5

{!! URL::previous() !!} 

मैं मार्ग यूआरएल मिलता है, लेकिन मैं जैसे मैं वर्तमान पृष्ठ के लिए मिल मार्ग नाम प्राप्त करने की कोशिश:

{!! Route::current()->getName() !!} 

मेरे क्लाइंट अभ्यस्त के लिए एक अलग पाठ आप पृष्ठ धन्यवाद, पृष्ठ पर निर्भर करता है (रजिस्टर पृष्ठ या संपर्क पृष्ठ) उपयोगकर्ता पर जाएं पर धन्यवाद। मैं इसके साथ प्रयास करता हूं:

{!! Route::previous()->getName() !!} 

लेकिन यह काम नहीं किया। मैं की तरह कुछ प्राप्त करने की कोशिश:

@if(previous-route == 'contact') 
    some text 
@else 
    other text 
@endif 

उत्तर

8

यहां मेरे लिए क्या काम है। मैं इस सवाल का जवाब और इस सवाल खोजने के लिए और मेरे मामले में काम करने के लिए इसे संशोधित: https://stackoverflow.com/a/36476224/2807381

@if(app('router')->getRoutes()->match(app('request')->create(URL::previous()))->getName() == 'public.contact') 
    Some text 
@endif 
+1

धन्यवाद। यह लैरवेल 5.4 पर भी काम करता है। – racl101

+1

अच्छा! यह लैराव 4.2 पर भी काम करता है। धन्यवाद। – Deivide

+3

एक ट्रेन की तरह। लेकिन, यह लैरवेल 5.5 पर भी काम करता है .. –

3

कि आप पिछले पृष्ठ के मार्ग का नाम नहीं मिल सकता है, तो आपके विकल्प हैं: एक मार्ग नाम के बजाय

  1. चेक पिछले URL।

  2. sessions का उपयोग करें। सबसे पहले, को बचाने के मार्ग का नाम: यदि सत्र previous-route है

    session()->flash('previous-route', Route::current()->getName()); 
    

तो जाँच:

@if (session()->has(`previous-route`) && session(`previous-route`) == 'contacts') 
    Display something 
@endif 
    मार्ग नाम पारित करने के लिए
  1. उपयोग GET मानकों।

यदि मैं आप थे, तो मैं सत्र का उपयोग करता हूं या पिछले यूआरएल की जांच करता हूं।

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