Ошибка запроса Laravel - вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: query () - PullRequest
0 голосов
/ 06 декабря 2018

Я бы хотел вставить некоторые данные из файла 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 ]

0 голосов
/ 06 декабря 2018

Вы можете использовать Query Builder, но размещенная форма неверна.Правильный способ вставки новых записей согласно документации

$attributes = [
     'name'   =>   'Name X'
     'email'  =>   'email@x.com'
]
$insert = \DB::table('tb_pwbi_analytics_acesso')->create($attributes);

dd($insert)
0 голосов
/ 06 декабря 2018

Метод query() не из экземпляра компоновщика.Это в Illuminate\Database\Connection классе.Используйте фасад БД (use Illuminate\Support\Facades\DB;), чтобы вставить нужную информацию.

DB::table('tb_pwbi_analytics_acesso')->insert(
    [
    'regional' => $regional,
    'uf' => $uf,
    // and so on
    ]
);
...