首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在laravel中搜索2个模型

在laravel中搜索2个模型
EN

Stack Overflow用户
提问于 2019-09-29 22:01:24
回答 2查看 172关注 0票数 1

我有两个型号:cityhotel。并且它们有1对n的关系。我希望我的用户能够同时在两个模型中进行搜索。

因此,当我想让我的api在我的用户输入任何单词时被调用时,这是前端关注的问题,但当涉及到搜索时,我就遇到了问题。

我想在2个模型中搜索,以查看任何相似性并返回数据,例如,如果用户键入单词

代码语言:javascript
运行
复制
N

我想返回2个对象,1在酒店,1在城市:

代码语言:javascript
运行
复制
New York

代码语言:javascript
运行
复制
Hotel navara 

以下是我在模型中定义的关系:

代码语言:javascript
运行
复制
 public function city()
    {
        return $this->hasOne(City::class, 'id', 'city_id');
    }

在我的城市模型中:

代码语言:javascript
运行
复制
 public function hotel(){
        return $this->hasMany(Hotel::class);
    }
EN

Stack Overflow用户

回答已采纳

发布于 2019-09-29 22:25:27

您可以像这样使用orWhere

代码语言:javascript
运行
复制
$result = City::orWhereHas('hotel', function (Builder $query) use($request) {
    $query->where('name', 'like', '%' . $request->name . '%');
})->orWhere('name', 'like', '%' . $request->name . '%')->get();

希望这能有所帮助。

谢谢

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

https://stackoverflow.com/questions/58155951

复制
相关文章

相似问题

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