帮我完成这一步
index.blade.php页面
导航栏代码
<nav class="navigation">
<ul class="sf-menu">
<li><a href="{{ url('/') }}">Home</a>
</li>
<li><a href="{{ url('about') }}">About Us</a></li>
<li><a href="javascript:;">Category</a>
<ul class="dropdown">
<li><a href="{{ url('grid/1') }}">Buy and Sell</a></li>
<li><a href="agent-detail.html">Car and Vehicles</a></li>
<li><a href="my-properties.html">Real Estate</a></li>
<li><a href="submit.html">Pets</a></li>
<li><a href="pricing.html">Jobs</a></li>
<li><a href="login.html">Community</a></li>
<li><a href="404.html">Resumes</a></li>
</ul>
</li>
我的路线代码
Route::resource('/', 'BasicController');
Route::resource('about', 'BasicController@about');
Route::resource('contact', 'BasicController@contact');
Route::resource('grid', 'BasicController@grid');
这是我的控制器代码
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class BasicController extends Controller
{
public function index(){
return view('index');
}
public function about(){
return view('about');
}
public function contact(){
return view('contact');
}
public function grid($id)
{
$id = $this->uri->segment(3);
if ($id == 1) {
return view('buy-and-sell/grid');
}
elseif ($id == 2) {
return view('car-and-vehicels/grid');
}
elseif ($id == 3) {
return view('country/grid');
}
else{
return view('other/grid');
}
}
}
答案 0 :(得分:0)
您必须应用以下更改:
1。)您的方法签名是错误的。如下所示,Laravel将自动从您的url中传入“数字”变量$ id(但作为第二个(!)参数)。此外,您还必须通过use Illuminate\Http\Request;
声明在标题中导入请求!
public function grid(Request $request, $id)
2.。)不要使用$this->uri->segment
,而是直接使用传递的$ id(这是代表segement 3的slug)。您正在使用资源控制器,Laravel会自动为您执行映射。
所以看起来应该是这样的:
public function grid(Request $request, $id)
{
//$id = $this->uri->segment(3); //COMMENT THIS OUT!!!
if ($id == 1) {
return view('buy-and-sell/grid');
}
elseif ($id == 2) {
return view('car-and-vehicels/grid');
}
elseif ($id == 3) {
return view('country/grid');
}
else{
return view('other/grid');
}
3.。)关于CSS。你的路径错了,但如果没有进一步的信息,这很难调试/帮助
重要提示:它似乎正在运行laravel作为子文件夹安装。您将遇到非常奇怪的问题(像这一个,我怀疑这个子文件夹安装可能是原因)。我不久前在laravel打开了一个bug,但它已经关闭了。不支持子文件夹安装。
我真的建议你按照主页上的描述安装laravel作为专用虚拟主机,public
文件夹映射到域本身(如http://localhost),换句话说“public”就是你的直接在http :: // localhost下提供的根文件夹。