sum*_*mit 1 php orm laravel eloquent
我有以下正在工作的 ORM
$timezones = DB::table('timezones')->pluck(DB::Raw('concat_ws(" ",label,name) as name'), 'id');
Run Code Online (Sandbox Code Playgroud)
我把它转换成
$timezones = Timezone::pluck(DB::Raw('concat_ws(" ",label,name) as name'), 'id');
Run Code Online (Sandbox Code Playgroud)
并得到如下错误
ErrorException in Str.php line 432:
Illegal offset type in isset or empty
Run Code Online (Sandbox Code Playgroud)
模型很简单,如下所示
class Timezone extends Model
{
protected $table = 'timezones';
protected $connection = 'mysql';
}
Run Code Online (Sandbox Code Playgroud)
我认为,您在 pluck 中的原始查询是指一个对象。因此,何时尝试获取索引为对象的元素已显示错误。
您应该将查询更改为如下所示:
$timezones = Timezone::select(DB::Raw('concat_ws(" ",label,name) as name'), 'id')->pluck('name','id');
Run Code Online (Sandbox Code Playgroud)
这将起作用。希望它会有所帮助