Laravel Route自定义路线而不是资源

时间:2016-08-02 10:18:44

标签: php laravel routes

我正在使用laravel 5.2,我正在尝试从我的视图到我的AdminOfficesController获取自定义链接。但是由于某种原因,它只是给了我一个没有错误或任何错误的空白页面。尝试使用docs,stackoverflow和调试来调试它,但我仍然不清楚为什么它不起作用。任何帮助表示赞赏。

在我看来,我有以下链接:

public function create()
{
    echo "hi";
    return view('admin.offices.create');
}

在我的路线中,我有以下代码:

string filePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString();

我的控制器包含以下代码:

"C:\\MYDEV\\MyProject\\bin\\Debug"

我可能在我的视图或路径文件中遗漏了一些非常简单的内容,但老实说,我没有看到它。我的控制器的其他功能,如索引等工作正常。

感谢您的帮助。 罗德尼

4 个答案:

答案 0 :(得分:1)

您的按钮是:

                <a href="{{ url('admin/offices/' . $customer->id)  }}">
                    <div class="float-left">
                        <button class="btn btn-success btn-xs">Create office</button>
                    </div>
                </a>

您的路线是:

admin/offices/{customer_id}/create

你忘了/create

我建议您使用路线名称(更多关于laravel文档),因为如果您更改URL每条路线都会有新网址而不做任何更改

答案 1 :(得分:0)

更改您的HTML代码

return static::whereBetween(Db:raw('DATE(date)'), array(
    $start->format('Y-m-d'),
    $end->format('Y-m-d')
))->get();

答案 2 :(得分:0)

您可以为路线命名:

Route::get('/admin/offices/{customer_id}/create', [
    'as' => 'admin.offices.customer.create,
    'uses' => 'AdminOfficesController@create'
]);

并像这样使用

<a href="{{URL::route('admin.offices.client.create', array($customer->id))}}">

答案 3 :(得分:0)

路由资源只是方便您保持代码干燥,但如果您需要进行更改,您可以随时使用完整代码并随意更改。

Route::get('resource', ['as' => 'resource.index', 'uses' => 'ResourcesController@index']);
Route::get('resource/create', ['as' => 'resource.create', 'uses' => 'ResourcesController@create']);
Route::post('resource', ['as' => 'resource.store', 'uses' => 'ResourcesController@store']);
Route::get('resource/{resource}', ['as' => 'resource.show', 'uses' => 'ResourcesController@show']);
Route::get('resource/{resource}/edit', ['as' => 'resource.edit', 'uses' => 'ResourcesController@edit']);
Route::put('resource/{resource}', ['as' => 'resource.update', 'uses' => 'ResourcesController@update']);
Route::patch('resource/{resource}', ['uses' => 'ResourcesController@update']);
Route::delete('resource/{resource}', ['as' => 'resource.destroy', 'uses' => 'ResourcesController@destroy']);
相关问题