Laravel获取特定的列名值,并将列名作为字符串传递给DB结果
我想得到列名存储在数组中的特定列的结果 我有一个数组,其中包含表名和必需的列:Laravel获取特定的列名值,并将列名作为字符串传递给DB结果,laravel,eloquent,Laravel,Eloquent,我想得到列名存储在数组中的特定列的结果 我有一个数组,其中包含表名和必需的列: $table_info = ['table_name' => 'users', 'column_name' => 'email']; 我成功地将这些值传递给DB类查询,并且它工作正常 $document = DB::table($table_info['table_name']) ->select($table_info['column_name'])
$table_info = ['table_name' => 'users', 'column_name' => 'email'];
我成功地将这些值传递给DB类查询,并且它工作正常
$document = DB::table($table_info['table_name'])
->select($table_info['column_name'])
->where('id', 1)
->first();
但当我尝试根据$table\u info['column\u name']
获取查询结果时,它抛出错误:
return $document->$table_info['column_name'];
错误:
数组到字符串的转换
必须在要访问的动态属性周围放上花括号:
return$document->{$table\u info['column\u name']};
这样,整个$table\u info['column\u name']
将被完全读取,而不仅仅是$table\u info
,它是一个数组