이 함수가 첫 번째 앱을 업데이트하지 않고 잠금 상태를 0으로 변경하고 1에 머무르지 않는 이유를 이해할 수 없습니다. 모든 앱이 보류 중 상태로 업데이트되어야합니다. 절은이 같은 결과를 제공하지만 경우에 ID로 응용 프로그램을 업데이트하기위한 테이블() 함수 :Eloquent가 컬렉션의 첫 번째 항목을 업데이트하지 않습니다.
public function updateLockState($stu_id)
{
$apps = Application::where('stu_id', $stu_id)->get();
$acceptedApps = $apps->whereIn('status', [ 'ACCEPTED_W_SCHOLARSHIP', 'ACCEPTED_WO_SCHOLARSHIP', 'ACCEPTED_BYSTUDENT', 'ACCEPTED_CONDITIONALLY', 'UNDER_REVIEW', 'REGISTERED' ]);
if ($acceptedApps->count() == 0)
{
// This has two apps showing in descending order by rank.
$pending_apps = $apps->where('status', 'PENDING')->sortByDesc('rank');
foreach ($pending_apps as $key => $value)
{
if ($key == 0)
{
$value->update(['locked' => 0]);
}
else
{
$value->update(['locked' => 1]);
}
}
}
dd();
}
이 난 DB를 사용하는 것을 시도했다. 이 함수는 인덱스 함수의 첫 번째 행에서 실행됩니다. 즉, 앱과 상호 작용하는 페이지에서 첫 번째 함수가 실행됩니다. 그것은 dd() 또는 exit()로 끝나며 실행을 멈 춥니 다.
편집 : 내가 수동으로 DB에 순위 값을 업데이트 할 때
, 나는이 스크립트를 실행하고 잠금을 업데이트해야하지만이 없습니다. 그것은 다른 모든 응용 프로그램에 대한 첫 번째 응용 프로그램 및 잠금 = 1 잠금 = 0을해야하고 계급에 의해 정렬 애플 리케이션을 DESC 이후, 18 순위와 응용 프로그램은 상단에 있어야 따라서는 잠금 = 0 갱신 후 :
로 시작하는 무엇 오류가 있습니까? – GabMic
오류가 발생하지 않습니다. 그것은 db에서 수동으로 순위 값을 업데이트 할 때 잠금을 업데이트하지 않습니다. – Waleed