2 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
我假設(shè)你想格式化你的雄辯屬性?看看https://laravel.com/docs/5.8/eloquent-mutators
如果您不想將格式化的數(shù)據(jù)保存在 db 上。您可以通過定義訪問器來使用它。例如,請(qǐng)參見下文
// on your model you just need to create new methods
// with `get` as prefix and `Attribute` as suffix
public function getBbcToHtmlAttribute() {
return myMethod($query->desc);
}
請(qǐng)注意,get并且Attribute在您的方法名稱上是必需的(例如 getMyNewAccessorAttribute`
之后,您需要添加casts屬性。如果您已經(jīng)有 casts 屬性,則只需將其添加到數(shù)組中,如果您沒有 casts 屬性,則需要定義它。
protected $casts = [
'BbcToHtml'
];
然后您可以在模型實(shí)例的任何位置使用它。
$query = Posts::find(1);
$desc = $query->bbctohtml;

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
正如 MarkB 所說,您需要使用一個(gè) mutator,創(chuàng)建一個(gè)可以接受任何輸入并為您的 bbcode 生成正確 html 代碼的輔助類。然后你會(huì)在你的模型上創(chuàng)建一個(gè) mutator 并使用它而不是 bbcode 文本所在的字段。
- 2 回答
- 0 關(guān)注
- 174 瀏覽
添加回答
舉報(bào)