Я принял ответ Диого , но я также обнаружил, что могу также редактировать существующее объединение. Его решение показывает, как извлечь объект \Illuminate\Database\Query\Builder
из объекта \Illuminate\Database\Eloquent\Builder
. У меня уже есть Query Builder, поэтому я написал свою функцию так:
/**
* @param \Illuminate\Database\Query\Builder $query
* @param string $table
* @param string $type
*/
private function changeJoinType(\Illuminate\Database\Query\Builder $query, string $table, string $type): void
{
foreach ($query->joins as $join) {
if ($join->table === $table) {
$join->type = $type;
}
}
}