1
從數據庫檢索模型並將它們發送到客戶端時,我希望爲每個模型包含該資源的URL。作爲附加(雄辯)模型屬性的資源URL
讓我們爲例此Article
模式,用:
- ID
- 標題
- 內容
- 等
存儲鏈接直接在數據庫中沒有按文章沒有道理,因爲它可以很容易地由ID和標題組成:
例如:http://www.example.com/articles/article_id/article_title
所以,這就是我現在所做的:
我使用$appends
陣列:
/**
* Additional attributes
*
* @var array
*/
protected $appends = array('article_url');
,並創造了一個getter方法article_url
:
/**
* Get the article url attribute
*
* @return string
*/
protected function getArticleUrlAttribute()
{
return $this->exists
? url('articles', $parameters = array(
$this->getKey(),
Str::title(Str::limit($this->title, 100))
))
: null;
}
這工作得很好。問題是,該模型可能不應該包含任何創建網址的邏輯。這個問題的好方法是什麼?在將文章發送給客戶之前,我應該在哪裏創建文章的URL地址?
是的,這是有道理的。謝謝! :) –