Uit uw vraag is niet helemaal duidelijk wat het probleem lijkt te zijn.
Je gebruikt het model om de gegevens te pakken en vervolgens zet je het in XML zoals je eerder hebt gedaan met behulp van DOMDocument
of waarschijnlijk beter met XMLWriter
d.w.z.
use Illuminate\Support\Facades\Response;
use App\User;
Route::get('/users/xml', function() {
$users = User::all();
$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument();
$xml->startElement('users');
foreach($users as $user) {
$xml->startElement('data');
$xml->writeAttribute('id', $user->id);
$xml->writeAttribute('firstname', $user->firstname);
$xml->writeAttribute('lastname', $user->lastname);
$xml->writeAttribute('email', $user->email);
$xml->endElement();
}
$xml->endElement();
$xml->endDocument();
$content = $xml->outputMemory();
$xml = null;
return response($content)->header('Content-Type', 'text/xml');
});
Voorbeelduitvoer:
<?xml version="1.0"?>
<users>
<data id="1" firstname="John" lastname="Doe" email="[email protected]"/>
<data id="2" firstname="Mark" lastname="Lee" email="[email protected]"/>
<data id="3" firstname="Jane" lastname="Doe" email="[email protected]"/>
</users>