So I have a variable and a recordset:
$firstRecordID = 1;
$records = Recordset::all();
I want to filter the recordset:
$filteredRecords = $records->find(function($record){
if($record->id == $firstRecordID)
return true;
else
return false;
});
Unfortunately, the closure has no clue what $firstRecordID is.
How do I pass in the ID?
You can bind the $firstRecordID to the closure:
$firstRecordID = 1;
$records = Recordset::all();
$filterFunction = function ($record) use ($firstRecordID) {
return ($record->id == $firstRecordID);
};
$filteredRecords = $records->find($filterFunction);
I also simplified your lambda into a single line.