Уровень 4: Выберите строку, если существует отношение, путем запроса отношения

Я пытаюсь запросить таблицу продуктов и хочу, чтобы она возвращала коллекцию, если существует отношение.

Итерация 1 ниже запросывсе строки в таблице продуктов, и ленивый загружает таблицу металлов, если$name Спички. Это не верно.

Мой маршрут:

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

Мой контроллер:

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());
} 

я хочутолько $products отображать, еслиmetal.name = $metal, например что-то вроде:

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

Решение с использованием части ответа «Рад, чтобы помочь»:

Это обеспечивает альтернативный подход 2, без необходимости объединений.

http://paste.laravel.com/WC4

Ответы на вопрос(1)

Ваш ответ на вопрос