【发布时间】:2017-12-01 19:24:35
【问题描述】:
如何在 Laravel 中使用 Eloquent 获取一对多关系的数据?实际上我关注了Eloquent Documentation。但是我的代码返回了一个空数组。这是我的工作:
数据库架构
父表:mtg_workspace 包含列(mw_id[主键]、mw_name、...、mw_access)
子表:mtg_workspace_amenities 包含列(id[主键]、wa_mwid、wa_name)
型号:MtgWorkspace.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class MtgWorkspace extends Model
{
protected $table = 'mtg_workspace';
public $timestamps = false;
public function MtgWorkspaceAmenities(){
return $this->hasMany('App\MtgWorkspaceAmenities', 'wa_mwid');
}
}
型号:MtgWorkspaceAmenities.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class MtgWorkspaceAmenities extends Model
{
protected $table = 'mtg_workspace_amenities';
public $timestamps = false;
public function MtgWorkspace(){
return $this->belongsTo('App\MtgWorkspace');
}
}
控制器:WorkspaceController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\MtgWorkspace;
use App\MtgWorkspaceAmenities;
class WorkspaceController extends Controller
{
public function index()
{
$workspace = MtgWorkspace::with('MtgWorkspaceAmenities')->get();
return $workspace;
}
}
这里显示以下输出:
【问题讨论】:
标签: php laravel laravel-eloquent