У меня есть две модели (и две таблицы в базе данных) в Laravel 5: Artwork and Option (имена таблиц - это произведения и варианты). Одна работа может иметь много вариантов, так что мои модели заключаются в следующем:Таблицы связей Laravel слияния
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Artwork extends Model {
public function options(){
return $this->hasMany('App\Option');
}
}
и
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Option extends Model {
//
}
Я пытаюсь вывести массив, который будет содержать все произведения искусства, которые имеют свои варианты вложенными внутри них. Вывод только художественных работ отлично работает ($ artworks = $ artwork-> get(), как показано ниже), но я не могу понять, как объединить/развернуть варианты в каждом оформлении.
Вот мой маршрут для этого
get('api/artworks','[email protected]');
А вот мой контроллер
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Artwork;
class ArtworksController extends Controller {
public function index(Artwork $artwork)
{
$artworks = $artwork->merge($artwork->options())->get();
return $artworks;
}
}
Я играл вокруг с этой функцией слияния(), и я просто не мог получить это право. Можно ли добиться этого с помощью merge()?
удивительных, спасибо! – Bravi