[AJAX][PHP] Laravel problem |
[AJAX][PHP] Laravel problem |
24.01.2021, 19:53:35
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.01.2021 Ostrzeżenie: (0%) |
Witam , robie pewien projekt w laravelu i mam problem taki , że w momencie kiedy chce wczytać dane z metody "ajaxGetReservationData" która jest w moim backend controller wyskakuje mi błąd Failed to load resource: the server responded with a status of 500 (Internal Server Error)
CODE <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Systemrezerwacji\Gateways\BackendGateway; use App\Systemrezerwacji\interfaces\BackendRepositoryInterface; use Carbon\Exceptions\Exception; use Illuminate\Support\Facades\App; use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use function PHPUnit\Framework\throwException; class BackendController extends Controller { public function __construct(BackendRepositoryInterface $bR, BackendGateway $bG) { $this->bR = $bR; $this->bG = $bG; } public function index(Request $request) { $objects = $this->bG->getReservations($request); return view('backend.index',['objects'=>$objects]); } public function ajaxGetReservationData(Request $request) { $reservation = $this->bR->getReservationData($request); return response()->json([ 'room_number' => $reservation->room_number, 'day_in' => $reservation->day_in, 'day_out' => $reservation->day_out, 'FullName' => $reservation->user->FullName, 'userLink' => route('person', ['id' => $reservation->user->id]), 'confirmResLink' => route('confirmReservation', ['id' => $reservation->id]), 'deleteResLink' => route('deleteReservation', ['id' => $reservation->id]), 'status' => $reservation->status, ]); } public function cities(){ return view('backend.cities'); } public function myobjects(){ return view('backend.myobjects'); } public function profile(){ return view('backend.profile'); } public function saveobject(){ return view('backend.saveobject'); } public function saveroom(){ return view('backend.saveroom'); } public function confirmReservation($id) { return 'to do'; } public function deleteReservation($id) { return redirect()->back(); /* Lecture 34 */ } } CODE <?php namespace App\Systemrezerwacji\Traits; use Illuminate\Http\Request; trait Ajax { public function ajaxGetReservationData(Request $request) { $reservation = $this->bR->getReservationData($request); return response()->json([ 'room_number' => $reservation->room_number, 'day_in' => $reservation->day_in, 'day_out' => $reservation->day_out, 'FullName' => $reservation->user->FullName, 'userLink' => route('person', ['id' => $reservation->user->id]), 'confirmResLink' => route('confirmReservation', ['id' => $reservation->id]), 'deleteResLink' => route('deleteReservation', ['id' => $reservation->id]), 'status' => $reservation->status ]); } } CODE <?php
namespace App\Systemrezerwacji\Repositories; use App\Systemrezerwacji\interfaces\BackendRepositoryInterface; use App\Models\{TouristObject, Reservation}; class BackendRepository implements BackendRepositoryInterface { public function getOwnerReservations($request) { return TouristObject::with([ 'rooms' => function($q) { $q->has('reservations'); }, 'rooms.reservations.user' ]) ->has('rooms.reservations') ->where('user_id', $request->user()->id) ->get(); } public function getTouristReservations($request) { return TouristObject::with([ 'rooms.reservations' => function($q) use($request) { $q->where('user_id',$request->user()->id); }, 'rooms'=>function($q) use($request){ $q->whereHas('reservations',function($query) use($request){ $query->where('user_id',$request->user()->id); }); }, 'rooms.reservations.user' ]) ->whereHas('rooms.reservations',function($q) use($request){ $q->where('user_id',$request->user()->id); }) ->get(); } public function getReservationData($request) { return Reservation::with('user', 'room') ->where('room_id', $request->input('room_id')) ->where('day_in', '<=' ,$request->input('date')) ->where('day_out', '>=' , $request->input('date')) ->first(); } } |
|
|
24.01.2021, 20:26:32
Post
#2
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 5 Dołączył: 20.05.2019 Ostrzeżenie: (0%) |
Włącz w .env DEBUG=true, w consoli php artisan config:clear i zobacz co dokładnie nie działa
|
|
|
24.01.2021, 20:31:19
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.01.2021 Ostrzeżenie: (0%) |
Mam włączony wyskakuje Trying to get property 'room_number' of non-object
C:\xampp\htdocs\laravel\app\app\Http\Controllers\BackendController.php#48 |
|
|
29.01.2021, 21:00:16
Post
#4
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 5 Dołączył: 20.05.2019 Ostrzeżenie: (0%) |
No to masz jak na tacy, próbujesz się dobrać jak do obiektu do czegoś co nim nie jest.
wrzuć linijkę z błędem do dd() bez ->room_number i zobacz co sobie przekazujesz, a następnie popraw. |
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 08:04 |