首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用相关模型的方法获取模型的Laravel方法

利用相关模型的方法获取模型的Laravel方法
EN

Stack Overflow用户
提问于 2017-03-15 21:05:43
回答 1查看 61关注 0票数 0

我用这种方式建立了购物中心和城市模型的关系:

商场模式:

代码语言:javascript
复制
public function city() {
    return $this->belongsTo('App\City');
}

城市模式:

代码语言:javascript
复制
public function malls() {
    return $this->hasMany( 'App\Mall' );
}

我在City类中有一个返回附近所有城市的方法:

代码语言:javascript
复制
public function getNearby($lat, $long, $r) {
   // return array of id of cities in $r radius
}

当我想得到附近城市的所有购物中心时,我会做这样的事情:

代码语言:javascript
复制
function getMallsInNearby() {
    $city_ids = City::getNearby($lat, $long, $r');
    $all_malls = Mall::all();
    foreach ( $all_malls as $mall ) {
        $malls[] = (in_array($mall->city->id , $city_ids) ? $mall : null);
    }
    return array_filter($malls);
}

我试图在商场和城市中使用whereHas()方法,但没有成功。在关系雄辩的拉勒维尔,什么是实现这一目标的最佳途径?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 21:41:51

使用whereIn()。

代码语言:javascript
复制
$city_ids = City::getNearby($lat, $long, $r');
$malls = Mall::whereIn('city_id', $city_ids);

看看那些医生..。你几乎可以做任何事。https://laravel.com/docs/5.4/queries

希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42820657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档