【发布时间】:2015-01-24 01:44:51
【问题描述】:
我在 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 {
//
}
我正在尝试输出一个数组,该数组将包含所有将选项嵌套在其中的艺术品。只输出艺术品可以正常工作($artworks = $artwork->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() 来实现这一点?
【问题讨论】:
标签: php database model eloquent laravel-5