【发布时间】:2017-12-08 01:12:52
【问题描述】:
所以我是 laravel 的新手。我正在尝试使用视图,但它一直通过链接引用其自身。
请看下面我的意思
所以我有一条“客户”路线
Route::get('customers/{cid?}', [
'uses' => 'customers@getCustomerView'
])->name('customers');
如您所见,在这条路线中,我引用了一个控制器 getCustomerView。使用可选的 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 - 显然这会导致错误。那么它为什么要这样做呢?
如何预防?
【问题讨论】:
-
如果您有空闲时间,您可能需要阅读此href: relative path vs absolute path
-
它根本不是laravel,你可以查看this answer了解更多信息。
-
是的。现在明白了。我只知道有时 laravel 在引用文件时需要使用 url 或资产。所以我想也许是同样的事情。很高兴听到这么简单。谢谢