Ошибка запроса Laravel - вызов неопределенного метода Illuminate\Database\Query\Builder::query()
Я хотел бы вставить некоторые данные из файла CSV, но когда я загружаю их, есть сообщение об ошибке. Какой лучший способ сделать это в Laravel или PHP. введите описание изображения здесь
public function uploadFile(Request $request){
$conexao = \DB::table('tb_pwbi_analytics_acesso');
$arquivo = $_FILES['file']['tmp_name'];
$nome = $_FILES['file']['name'];
$ext = explode(".", $nome);
$extensao = end($ext);
if ($extensao != 'csv') {
echo 'extenso invalida';
}else{
$objeto =fopen($arquivo, 'r');
while (($dados = fgetcsv($objeto,1000,";")) !== FALSE) {
$regional = utf8_encode($dados[0]);
$uf = utf8_encode($dados[1]);
$anf = utf8_encode($dados[2]);
$localidade = utf8_encode($dados[3]);
$ibge = utf8_encode($dados[4]);
$ativo = utf8_encode($dados[5]);
$result = $conexao->query("INSERT INTO tb_pwbi_analytics_acesso (regional, uf, anf, localidade, ibge, ativo) VALUES('$regional',' $uf','$anf','$localidade', '$ibge','$ativo')");
}if($result){
echo 'Dados inseridos com sucesso!';
}else{
echo 'Erro ao inserir os dados';
}
}
2 ответа
Метод query()
не из экземпляра строителя. Он находится в Illuminate\Database\Connection
учебный класс. Использовать фасад БД (use Illuminate\Support\Facades\DB;
) вставить информацию, которую вы хотите.
DB::table('tb_pwbi_analytics_acesso')->insert(
[
'regional' => $regional,
'uf' => $uf,
// and so on
]
);
Вы можете использовать Query Builder, но размещенная форма неверна. Правильный способ вставки новых записей в соответствии с документацией
$attributes = [
'name' => 'Name X'
'email' => 'email@x.com'
]
$insert = \DB::table('tb_pwbi_analytics_acesso')->create($attributes);
dd($insert)