我在Laravel 5中有两个模型(以及数据库中的两个表格):艺术品和选项(表格名称是艺术品和选项)。单个艺术作品可以有很多选项,所以我的模型如下:
<?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 {
//
}
我试图输出一个数组,其中包含所有将其选项嵌套在其中的艺术作品。仅输出艺术作品很好($ artwork = $ artwork-&gt; get(),如下所示),但我无法弄清楚如何在每个艺术作品中合并/嵌套选项。
这是我的路线
get('api/artworks','ArtworksController@index');
这是我的控制器
<?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()函数而我无法正确使用它。是否可以使用merge()来实现这一目标?