Php 如何在Laravel中使用Elount获得一对多关系的数据?
如何在Laravel中使用Elount获得一对多关系的数据?事实上,我跟着。但是我的代码返回一个空数组。以下是我的工作: 数据库架构 父表:mtg\u工作区带列(mw\u id[主键]、mw\u名称、…、mw\u访问) 子表:mtg_工作区_便利设施带列(id[主键]、wa_mwid、wa_名称) 模型:MtgWorkspace.phpPhp 如何在Laravel中使用Elount获得一对多关系的数据?,php,laravel,laravel-eloquent,Php,Laravel,Laravel Eloquent,如何在Laravel中使用Elount获得一对多关系的数据?事实上,我跟着。但是我的代码返回一个空数组。以下是我的工作: 数据库架构 父表:mtg\u工作区带列(mw\u id[主键]、mw\u名称、…、mw\u访问) 子表:mtg_工作区_便利设施带列(id[主键]、wa_mwid、wa_名称) 模型:MtgWorkspace.php <?php namespace App; use Illuminate\Database\Eloquent\Model; class MtgWork
<?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');
}
}
<?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');
}
}
<?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;
}
}
您能否尝试为MtgWorkspace
模型定义主键(因为它不是id
):
我认为它无法将子项MtgWorkspace便利设施
与父项MtgWorkspace
模型匹配,因为它试图使用MtgWorkspace
上的id
属性来匹配MtgWorkspace便利设施
上的外键
旁注:
在定义它时,您必须将更多参数传递给mtgWorkSpace
上的反向关系,因为belongsTo()
希望使用添加了\u id
的调用方法名称snake作为键
protected $primaryKey = 'mw_id';