【问题标题】:Using CONCAT with Eloquent in Laravel在 Laravel 中使用 CONCAT 和 Eloquent
【发布时间】:2016-11-06 10:35:23
【问题描述】:

我想将 concat 与 eloquent 一起使用,我有两个表 (users) 和 (cars) 从 users 表中我想使用 first_name , last_name 字段,从 cars 表中我想使用名为 (vin) 的字段。

$cars   = Car::where(DB::raw('concat(first_name," ",vin," ",make)') , 'LIKE' , '%$search%')->paginate();

Users 表中的 first_name 字段和 Cars 表中的其余字段

【问题讨论】:

  • 请贴出你的代码,用 eloquent 连接你可以用关系模型来做,你需要在你的迁移中做一些改变,并在你的模型 User 和 Car 中插入关系函数
  • 我在 Users 和 Cars 之间建立了一对多的关系,它适用于我的任何查询
  • 用户 hasMany 和 car belongsTo

标签: laravel-5 laravel-5.2


【解决方案1】:

您可以为此使用join()

$cars   = Car::join('users', 'cars.user_id', '=', 'users.id')
            ->where(DB::raw('concat(users.first_name," ",cars.vin," ",cars.make)') , 'LIKE' , "%$search%")
            ->select('cars.*')
            ->paginate();

【讨论】:

  • 我对 '%$search%' 做了一些更改,即 '%'.$search.'%'
  • 如果你使用双引号,那么你也可以这样做:"%$search%"
  • 也适用于 (first_name," ",vin," ",make) 非常感谢阿米特
猜你喜欢
  • 2023-03-15
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
  • 2021-06-03
  • 2017-03-01
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多