用 eloquent 获取一行虚拟数据
Posted
技术标签:
【中文标题】用 eloquent 获取一行虚拟数据【英文标题】:get one row of dummy data with eloquent 【发布时间】:2021-09-09 14:20:32 【问题描述】:举个例子
$result = Players::select("first_name", "last_name")->where("some_field", "some_value");
返回Illuminate\Database\Eloquent\Builder
现在我想用虚拟数据“模拟”同样的事情,所以我这样做了
$result = Players::select(DB::raw("'john', 'doe'"));
这行得通,但是当查询运行时,如果玩家表有 10 行,我会得到 10 行充满 john doe 的行,而我只需要一个。
我试过了
$result = Players::select(DB::raw("'john', 'doe'"))->limit(1);
但是没有效果
我怎样才能只获得 1 行虚拟数据?考虑到$result
必须返回一个Illuminate\Database\Eloquent\Builder
【问题讨论】:
【参考方案1】:如果您想按照建议的方式进行操作,我认为这应该可行:
$result = Players::select(DB::raw("'john' as first_name , 'doe' as last_name"))->take(1);
【讨论】:
以上是关于用 eloquent 获取一行虚拟数据的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Eloquent ORM - 获取第一和第三表数据
如何从 Laravel 8 Eloquent 中的嵌套关系中获取数据?