Level 18
You need to pass $from1 and $to1 in the callback function of query in order to access it.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi!
This funtion in laravel-model dosent work:
public static function getgpsdataplayer($request,$golfID)
{
$flagget=$request->flagg;
$green=$request->green;
$orange=$request->orange;
$red=$request->red;
$judge=$request->judge;
$toilet=$request->toilet;
$holenumber=$request->holenumber;
$dl=$request->dl;
$bm=$request->bm;
$td=$request->td;
$range=$request->range;
$tl=$request->tl;
$from1='2021-11-22 09:00';
$to1='2021-11-22 09:00';
$query = DB::table('gpstrackers')
->select('*')
->whereIn('id', function($query) {
$query->selectRaw('MAX(id) as id')
->from('gpstrackers')
->whereBetween('regdate',[$from1,$to1])
->groupBy('flight','player_id_ref');
});
if($holenumber=='true'){
$query1 = DB::table('holesclub');
$query->union($query1);
}
if($flagget=='true'){
$query2 = DB::table('flagpositions');
$query->union($query2);
}
if($toilet=='true'){
$query3 = DB::table('objectsclub');
$query->union($query3);
}
if($flagget=='false')
{
$query->where('type', '<>', 2);
}
if($judge=='false')
{
$query->where('type', '<>', 3);
}
if($toilet=='false')
{
$query->where('type', '<>', 5);
}
if($holenumber=='false')
{
$query->where('type', '<>', 7);
}
if($dl=='false')
{
$query->where('type', '<>', 12);
}
if($bm=='false')
{
$query->where('type', '<>', 8);
}
if($td=='false')
{
$query->where('type', '<>', 9);
}
if($tl=='false')
{
$query->where('type', '<>', 10);
}
if($range=='false')
{
$query->where('type', '<>', 11);
}
if($green=='false'){
$query->where('colormarker', '<>', 1);
}
if($orange=='false'){
$query->where('colormarker', '<>', 2);
}
if($red=='false'){
$query->where('colormarker', '<>', 3);
}
$gpsdata = $query->get();
return $gpsdata;
}
Gives me this error:
"message": "Undefined variable: from1",
"exception": "ErrorException",
Strange error
@birdietorerik You need to pass it like
$query = DB::table('gpstrackers')
->select('*')
->whereIn('id', function($query) use ($from1, $to1) {
$query->selectRaw('MAX(id) as id')
->from('gpstrackers')
->whereBetween('regdate',[$from1,$to1])
->groupBy('flight','player_id_ref');
});
Please or to participate in this conversation.