0
私は関数から返された結果を別の関数に使用しようとしています。私はそれがnullを返しdd($availableRoomsRet)
とき、他の関数から変数にアクセスするLARAVEL
public function returnAddReservation(){
$availableRoomsRet = $this->availableRooms();
$mealSupplement = new Meal;
$accommodationSupplement = new AccommodationSupplement;
$accommodationSupplements = $accommodationSupplement::where('status', 1)
->orderBy('name', 'asc')
->get();
$mealSupplements = $mealSupplement::where('status', 1)
->orderBy('name', 'asc')
->get();
return view('addReservation', [
'availableRooms' => $availableRoomsRet,
'accommodationSupplements' => $accommodationSupplements,
'mealSupplements' => $mealSupplements
]);
}
最初の関数は、それが独立して実行する場合、正しい結果を返しますが、:ここ
public function availableRooms(){
if(isset($_POST['selectedDate'])){
$checkInDateReceived = str_replace('/', '-', $_POST['selectedDate']);
$checkInDate = date('Y-m-d', strtotime($checkInDateReceived));
$availableRooms = DB::table('rooms')
->leftJoin('reservations', function ($secondJoin) use($checkInDate) {
$secondJoin->where('reservations.checkout_date', '<', $checkInDate);
})
->leftJoin('reservation_room_rel', function ($firstJoin) {
$firstJoin
->on('reservation_room_rel.room_id', '=', 'rooms.id')
->on('reservation_room_rel.reservation_id', '=', 'reservations.id');
})
->where([
['rooms.status', '=', 1]
])
->whereNull('reservation_room_rel.room_id')
->get();
return $availableRooms;
}
}
そして、私の第二の機能は次のとおりです。ここに私の最初の関数です。 $availableRooms
にアクセスする方法を知りたい場合は、public function availableRooms()
からpublic function returnAddReservation()
に? ありがとう!
'ます$ this-> availableRooms()'の 'var_dump'結果は何であるかを実行して、それを試すことができますか?それはNULLですか? – Chester
はい、それはヌルです –
おそらくあなたのクエリが失敗しました、あなたは結果のクエリを持っていることを確認してください。 – Chester