LoginSignup
3
1

More than 5 years have passed since last update.

Leverage Eloquent To Prepare Your URLs

Last updated at Posted at 2018-04-17

Laravel Newsには良記事が満載なので、備忘録の意味合いも込めて、記事を簡単にまとめていこうと思います(翻訳ではないです)。

元記事

投稿日: 2018/04/16
タイトル: Leverage Eloquent To Prepare Your URLs
URL: https://laravel-news.com/leverage-eloquent-to-prepare-your-urls

まとめ

<a href="{{ route('users.show', $user) }}">{{ $user->name }}</a>

というviewによくあるコードを

<a href="{{ $user->url->show }}">{{ $user->name }}</a>

と、coolに書こうぜというものです。
中身はとても簡単で、routeを返すクラス(UrlPresenter)をUserモデルに持たせています。

感想

実装は簡単ですが、いろいろな箇所で出て来るrouteを呼び出しを簡潔に書けそうです。
Model生成時にUrlPresenterも自動生成できるようにしておけば、考えることが減りそうでよい。

その他

調べている最中、laracasts/Presenterというのを見つけました。
今回の記事の$user->urlはミューテタを使っていますが、リファレンスでは$user->first_nameを大文字にして返す例が載っています。
こういった処理をUserモデルではせずに、Userモデルに持たせたPresenterで行うことで、ModelとView(Presenter)を分けています。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1