public function index () { $ sessions = eventsession :: all (); foreach ($ sessions as $ i => $ session) { $ sessions [$ i]-> available = $ session-> getAvailability (); } 반품 $ 세션; } 수동 루프를 건너 뛰고 '사용 가능한'속성을 자동으로 채우는 것이 편리합니다. 이것은 성능 이유에 대한 의도적 인 디자인입니다.
솔루션
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
classe extendestestions는 우아한 방법이 있습니다. 보호 된 $ table = '세션'; 공개 기능 가용성 () { 새로운 속성 반환 ( get : fn () => $ this-> calculateavailability () ); } }
class EventSession extends Eloquent {
protected $table = 'sessions';
public function availability()
{
return new Attribute(
get: fn () => $this->calculateAvailability()
);
}
}
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
8보다 컨트롤을 사용할 수 있습니다. 웅변 { 보호 된 $ table = '세션'; Protected $ appleds = array ( '가용성'); 공개 함수 getAvailabilityAttribute () { return $ this-> calculateavailability (); } }
옵션 2 : toarray () 메소드
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
대안으로 ToArray () 메소드를 무시하고 속성을 수동으로 설정할 수 있습니다. 보호 된 $ table = 'books'; 공개 기능 toArray () { $ array = parent :: toArray (); $ array = $ this-> 상단; 반환 $ 배열; } 공개 기능 getupperattribute () { return strtoupper ($ this-> title); } }
= $ this-> {$ key}; } } 반환 $ 배열; } 공개 기능 getupperattribute () { return strtoupper ($ this-> title); } }부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3