Lateralmente, percebi que o laravel suporta o estilo anônimo do php, então podemos implementar esse uso de função javascript, mas certamente é difÃcil para mim fazê-lo pela primeira vez
Para uso simples, eles exibem um exemplo como este
$users = User::with(array('posts' => function($query)
{
$query->where('title', 'like', '%first%');
}))->get();
E se o usuário quisesse fazer com que o terceiro parâmetro fosse preenchido com variável. Quando eu verifico ao substituir essas '%first%'
palavras por qualquer variável global, isso estraga a estrutura e aconteceu comigo.
$title = 'heirlom of marineford';
$users = User::with(array('posts' => function($query)
{
$query->where('title', 'like', $title);
}))->get();
Depois de pesquisar a documentação do PHP, descobri que a técnica de passar parâmetro para essa função anônima estendendo o bloco de função com use () para que a função assumisse o uso de todas as variáveis ​​definidas pela seção use ()
$title = 'heirlom of marineford';
$users = User::with(array('posts' => function($query) use($title)
{
$query->where('title', 'like', $title);
}))->get();
E é assim que funciona. 🙂