Laravel 5.0将变量传递给中间件

时间:2015-07-29 10:44:48

标签: laravel-5 middleware

目前我必须检查正在编辑的工作记录是否属于合适的人选。我的工作编辑路线:

/user/job-edit/{slug}

所以我创建了JobEditMiddleware,但问题是我在中间战中无法访问{slug}变量。有什么办法吗?感谢。

2 个答案:

答案 0 :(得分:4)

您可以使用segment()方法检索URI的各个细分。

在中间件中尝试以下内容,

\Request::segment(3)

Read More

答案 1 :(得分:1)

您可以更轻松地访问您的slug参数。

def latest
  @latest_articles = user_signed_in? ? Article.limit(10).order(id: :desc).pluck(:id, :title) : Article.where("status = ?", Article.statuses[:public_article]).limit(10).order(id: :desc).pluck(:id, :title)
  render json: @latest_articles
end

你必须像这样调用你的slug参数:

extract = lambda {|a| a.order(id: :desc).pluck(:id, :title)}
Article.limit(10) {|a| a.extract}

如果您以后需要更改路线,我认为这比分段更好。