2017-12-07 27 views
1

だから私はlaravelが初めてです。私はビューを使用しようとしていますが、それはリンクで自己を参照し続けます。自分自身を参照して表示する - Laravel 5.5

は、あなたが、私は、コントローラgetCustomerViewを参照見ることができるように、私はルート「顧客」を持っている。このルートで

Route::get('customers/{cid?}', [ 
    'uses' => '[email protected]' 
])->name('customers'); 

私が何を意味するか

の下を参照してください。オプションのCIDを使用すると、単に顧客のリストを見たいと思うかもしれません。その後、顧客を選択します。コントローラの機能はこちらです

public function getCustomerView($cid = null){ 
     $activeCustomer = array(); 
     if(!empty($cid)){ 
      // do middleware to get customer active detail 
      $activeCustomer = array(
       'company' => 'Company '.$cid, 
       'fname' => 'Test', 
       'lname' => 'test' 
      ); 
     } 
     return view('customers.view', [ 
       'title' => 'Customer List', 
       'cid' => $cid, 
       'activeCustomer' => $activeCustomer, 
       'clist' => [ 
        ['company'=>'Company 1', 'fname' => 'Bob', 'lname' => 'Smith'], 
        ['company'=>'Company 2', 'fname' => 'Julie', 'lname' => 'Reid'], 
        ['company'=>'Company 3', 'fname' => 'Tony', 'lname' => 'Tima'] 
       ] 
     ]); 
    } 

http://domain/customersをロードすると、すべて正常に動作します。

私のcustomers.view私は次のループを持って、配列をテーブルに入れます。後で私はいくつかのミドルウェアまたは自己機能を使ってデータベースからデータを取得します。今のところ私はちょうど硬化配列を使用しています。

@foreach($clist as $key=>$customer) 
    <tr> 
     <td>{{$key+1}}</td> 
     <td><a href="customers/{{$key+1}}">{{$customer['company']}}</a></td> 
     <td>{{$customer['fname']}}</td> 
     <td>{{$customer['lname']}}</td> 
    </tr> 
@endforeach 

問題があります。一度私は顧客をクリックします。ページが正常に読み込まれます。 http://domain/customers/1 - 他の顧客をクリックすると、これが行われます。

http://domain/customers/1/customers/2 - これは明らかにエラーの原因になります。では、なぜこれをやっているのですか?

どうすればいいですか?

+0

を、あなたが必要な場合がありますこれを読むには[相対パス対絶対パス](https://stackoverflow.com/questions/10659459/starting-with-a-forward-slash-in-html-for-href) – Chay22

+0

これはまったくのものではありません、あなたca詳細については、[この回答](https://stackoverflow.com/a/10659501/1347094)を参照してください。 – Torv

+0

ええ。今理解する。私はちょうどあなたがURLまたは資産を使用する必要があるファイルを参照するときにいかに時々ラーベルを知っています。だから私は多分同じことを考えた。それを聞いてうれしいです。ありがとう – GrafixMastaMD

答えて

1

使用この:

<td><a href="{{ route('customers' , [$key+1]) }}">{{$customer['company']}}</a></td> 

それはhttp://domain/customers/1

のように完全なURLを生成しますが、あなたは、単にそれを行うことができます:あなたは余暇時間を持っている場合は

<td><a href="/customers/{{$key+1}}">{{$customer['company']}}</a></td> 
+0

ありがとう。私は最初の選択肢が好きなので、私はルート機能を利用し続けます。どうもありがとうございました – GrafixMastaMD

関連する問題