【发布时间】:2016-09-02 09:38:18
【问题描述】:
我有以下情况:
location
id - integer
network_id - integer (FK)
network
id - integer
owner_id - integer (FK)
owner
id - integer
name - string
我的位置数据有一个 Eloquent 模型。现在我想做的是创建一个 RESTful API,我可以在其中通过网络模型检索所有者数据。
我尝试过使用hasManyThrough,但没有成功。该模型具有以下关系;
Network - Location = One to Many
Owner - network = One to One
这么多位置属于一个网络,每个网络都有一个所有者。情况总是如此。
我尝试了以下方法。
class Location extends Model
{
public function owner() {
return $this->hasManyThrough('App\Owner', 'App\Network, 'id', 'id);
}
}
然后在我的资源中返回模型。
class LocationController extends Controller
{
public function index() {
return [
'data' => Location::with('network', 'owner')->take($limit)->take($offset)->get()
];
}
}
我没有收到错误,但模型没有返回任何所有者,而只是一个空数组。
谁能帮助我使用 Laravel 的 Eloquent 在这些模型之间建立关系?我正在使用 Laravel 5.3。
【问题讨论】:
-
请告诉我们您尝试了什么以及出现了什么问题。
标签: php laravel model eloquent laravel-5.3