Php 拉威尔·古鲁:有可能在雄辩的查询中使用新添加的列吗?

Php 拉威尔·古鲁:有可能在雄辩的查询中使用新添加的列吗?,php,laravel,Php,Laravel,下面是一个MySQL查询。我知道这是错误的,因为在查询中不能使用额外的列 选择users.id、user\u time.*、CONCAT(users.info1、users.info2)作为额外用户,从用户加入user\u time ON users.id=user\u time.user\u id,其中EXTRA=“ABCDEFG”; 但是在Laravel中不可能使用这个额外的列吗? 类似于 $table=User::join('User\u time','User\u time.User\

下面是一个MySQL查询。我知道这是错误的,因为在查询中不能使用额外的列

选择users.id、user\u time.*、CONCAT(users.info1、users.info2)作为额外用户,从用户加入user\u time ON users.id=user\u time.user\u id,其中EXTRA=“ABCDEFG”;
但是在Laravel中不可能使用这个额外的列吗? 类似于

$table=User::join('User\u time','User\u time.User\u id','users.id')->select('users.id','User\u time.*',DB::raw(“CONCAT(users.info1,users.info2)作为额外数据”);
$table=$table->where('EXTRA','=','ABCDEFG');
我不确定变量$table中保存了哪些数据。
如果有一种类似于上述的方法,它将为我节省大量的代码编写。

从您在上面尝试的内容来看,似乎可以用雄辩的语言轻松完成

显然用户时间属于用户,用户有很多用户时间

类用户扩展模型
{
公共函数用户_次()
{
返回$this->hasMany(UserTime::class();
}
//…类的其余部分代码
}
类用户时间扩展模型
{
公共函数用户()
{
返回$this->belongsTo(用户::类);
}
//…类的其余部分代码
}
假设您正在尝试匹配
CONCAT(users.info1,users.info2)='somevalue'
,那么您可以尝试以下操作以获得所需的输出

$data=User::with('User\u times'))
->在哪里([
['info1','some'],
['info2','value']
])
->get();
或者使用原始表达式

$data=User::with('User\u times'))
->whereRaw('CONCAT(users.info1,users.info2)=“somevalue”)
->选择raw('id,CONCAT(users.info1,users.info2)作为额外')
->get();

你试过了吗?我必须说明“Users”和“User\u time”是不同的表,以Users.id作为外键。但是Model User中User\u times()函数的用途是什么?
User\u times()
在用户模型中是一个定义用户模型(记录)和用户时间模型(记录)之间关系的函数.Eloquent通过模型之间的关系具有非常强大的机制来构造有意义的查询,并以优雅的语法获得结构化输出。Laravel文档:“用户”和“用户时间”是不同的表:当然,用户和用户时间是分别由用户和用户时间模型表示的两个不同的表