php - 如果 laravel 4 不存在,则将特定路由重定向到页面

标签 php laravel laravel-4

如果他们拉取的数据不存在,我有一个路由需要重定向到另一个页面。路线是:

Route::get('{link}/{data}', 'LinkController@getLink');

其中 {link}{data} 是模型绑定(bind)的:

Route::model('link', 'Link');
Route::model('data', 'Data');

照原样,当此链接的数据不存在时它会返回 404,如果它存在,它会按原样转到页面。我想做的是重定向到另一个页面,否则链接会出现 404。我找到了关于如何在全局范围内执行此操作的建议,但我只希望它发生在这条路线上。

有什么想法吗?

最佳答案

// Link Controller

public function getLink($linkId, $dataId)
{
  if ( is_null($link) or is_null($data) ) {
    return Redirect::to('some/path');
  }
}

如果传入的模型中有一个在到达您的 Controller 方法时为空,则只需重定向它们。至于您引用但未显示代码的 /{link} 路由,请在您处理它的任何闭包/ Controller 中执行类似的操作。

关于php - 如果 laravel 4 不存在,则将特定路由重定向到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173101/

相关文章:

php - 如何在 laravel 中使用编码和解码

php - 当点击从高到低时,价格应该改变

php 和 mysqli_num_rows 不检测数据库中是否有内容

twitter-bootstrap - sass bootstrap 集成未显示字形图标

php - Laravel:使用 Memcache 而不是文件系统

php - 拉维尔 4 : How to apply a WHERE condition to all queries of an Eloquent class?

PHP + MySQL : Big CSV file import

php - laravel - foreignId() 和 unsignedBigInteger() 之间的区别

linux - Linux 上的 Laravel Elixir

带有 nuxt 和 nginx 反向代理的 laravel websocket 返回 502