【问题标题】:View Referencing it's self - Laravel 5.5查看引用它的自我 - Laravel 5.5
【发布时间】: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 或资产。所以我想也许是同样的事情。很高兴听到这么简单。谢谢

标签: php laravel


【解决方案1】:

使用这个:

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

它会生成一个完整的网址,例如http://domain/customers/1

但你可以简单地这样做:

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

【讨论】:

  • 谢谢。我喜欢第一种选择,所以我继续使用路由功能。非常感谢
猜你喜欢
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 2018-02-13
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
相关资源
最近更新 更多