ロードにlaravel雄弁モデルにカスタム属性を追加する方法?たとえば、このようなコントローラーを検討してください:
パブリック関数index() { $ sessions = eventsession :: all(); foreach($ sessions as $ i => $ session){ $ sessions [$ i] - > available = $ session-> getAvailability(); } $ sessionsを返します。 }
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
laravelバージョン
オプション1:プロパティ
を8個未満のバージョンに追加します。雄弁{ 保護された$ table = 'sessions'; 保護された$ appends = array( 'availability'); パブリック機能getAvailabilityattribute() { return $ this-> calculateavailability(); } }
オプション2:ToArray()Method
をOverride toArray() 保護された$ table = 'books'; public function toArray() { $ array = parent :: toarray(); $ array ['upper'] = $ this-> upper; $ arrayを返します。 } パブリック機能getupperattribute() { return strtoupper($ this-> title); } }
オプション3:変異属性を介してループ
class EventSession extends Eloquent {
protected $table = 'sessions';
public function availability()
{
return new Attribute(
get: fn () => $this->calculateAvailability()
);
}
}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3