Ошибка запроса 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)
Другие вопросы по тегам