Laravel 4: Wählen Sie eine Zeile aus, wenn eine Beziehung existiert, indem Sie die Beziehung abfragen

Ich versuche, eine Produkttabelle abzufragen und möchte, dass sie eine Sammlung zurückgibt, wenn eine Beziehung besteht.

Iteration 1 unten Fragenalles Zeilen in der Produkttabelle und faul lädt die Metalltabelle, wenn$name Streichhölzer. Das ist falsch.

Meine Route:

Route::group(array('prefix' => '{api}/v1'), function()
{
    Route::controller('products', 'Api\V1\ProductController');
});

Mein Controller:

public function getFilter($metal = null) {
    $products = $this->product;
    if ($metal) {
        $products->with('metal', function($query, $metal) {
            $query->where('name', $metal);
        });
    }
    return Response::api($products->get());
} 

Ich willnur $products um anzuzeigen, obmetal.name = $metal. z.B. so etwas wie:

$this->products->where('metal.name', $metal)->get;

Lösung mit einem Teil der Antwort von Glad To Help:

Dies bietet einen alternativen Ansatz 2, ohne dass Verknüpfungen erforderlich sind.

http://paste.laravel.com/WC4