**我是laravel8的新手,尝试将数据从excel表导入数据库,这里是我在import类中的代码,它不传递,不会给出任何错误。所以数据库有关系我试图导入数据,并确保关系被考虑,这样我就不会有任何问题**
<?php
namespace App\Imports;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use App\Models\District;
use App\Models\Organisation;
use App\Models\FocalPerson;
use App\Models\Ta;
use App\Models\Location;
use App\Models\Service;
use App\Models\Category;
use App\Models\Type;
class InformationImport implements ToCollection
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function collection(Collection $rows)
{
foreach ($rows as $row)
{
$instance_id = $row[1];
$organisation_name = $row[2];
$service_provider = $row[3];
$catchment_area = $row[4];
$organisation_type = $row[5];
$district_name = $row[6];
$organisation_web = $row[7];
$primary_name = $row[8];
$primary_title = $row[9];
$primary_number = $row[10];
$primary_email = $row[11];
$secondary_name = $row[12];
$secondary_number = $row[13];
$secondary_title = $row[14];
$secondary_email = $row[15];
$services_name = $row[16];
$location = explode(',',$row[17],2);
return $location;
$location_altitude = $row[18];
$location_accuracy = $row[19];
$comments_distance = $row[20];
$data_comments = $row[21];
$ta = Ta::where('name','like','%'.$row[4] .'%')->whereHas('district',
function($query) use($district_name){
$query->where('name','like','%'.$district_name .'%');
})->get();
if(!$ta){
$district = District::firstOrCreate([
'name' => $row[6]
]);
$ta = new Ta;
$ta->name = $row[4];
$district->tas()->save($ta);
}
$gvh = Gvh::firstOrCreate([
'name' => 'unknown',
'ta_id' => $ta->id
]);
$location = Location::firstOrCreate([
'latitude'=>$location,
'longitude'=>$location,
'gvh_id'=> $gvh->id
]);
$service = Service::firstOrCreate([
'name'=>$services_name
]);
$category = Category::firstOrCreate([
'name'=>'unknown'
]);
$type = Type::firstOrCreate([
'name'=>$organisation_type
]);
$organisation = Organisation::firstOrCreate([
'name'=> $organisation_name,
'location_id' => $location->id,
'organisation_type_id' => $type->id,
'organisation_category_id' => $category->id
]);
$focalperson =FocalPerson::firstOrCreate([
'title'=> $primary_title, $secondary_title,
'name' => $primary_name,$secondary_name,
'phonenumber'=>$primary_number,$secondary_number,
'email'=> $primary_email, $secondary_email
]);
}
}
}
**下面是我的controller类。在控制器中,这是l所拥有的代码,因为它没有带来任何东西,l必须以这种方式编写它,看看它是否能够输出消息**
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Imports\InformationImport;
use Maatwebsite\Excel\Facades\Excel;
class InformationController extends Controller
{
public function import(Request $request)
{
//Excel::import(new InformationImport, $request->file);
//return response()->json(['message' => 'Your data imported successfully !'], 200);
if ($request->ajax()) {
try {
Excel::import(new InformationImport, $request->file);
return response()->json(['message' => 'Your data imported successfully !'], 200);
} catch (ValidationException $ex) {
$failures = $ex->failures();
foreach ($failures as $failure) {
return response()->json(['message' => 'Row - ' . $failure->row() . ', ' . $failure->errors()[0]], 500);
}
}
}
return response()->json(['message' => 'Something went wrong !'], 500);
}
}
public function import(Request $request)
{
ini_set('max_execution_time', -1);
ini_set('memory_limit ', -1);
if ($request->ajax()) {
try {
$file_content = $request->file('excel');
$file_name = time() . '.xlsx';
Storage::disk('local')->putFileAs('public', $file_content, $file_name);
$url = "/app/public/" . $file_name;
$path = storage_path() . $url;
Excel::import(new InformationImport, $path);
return response()->json(['message' => 'Your data imported successfully !'], 200);
} catch (ValidationException $ex) {
$failures = $ex->failures();
foreach ($failures as $failure) {
return response()->json(['message' => 'Row - ' . $failure->row() . ', ' . $failure->errors()[0]], 500);
}
}
}
return response()->json(['message' => 'Something went wrong !'], 500);
}
我无法导入内部 我一直在使用Linux Mint 19、Anaconda 3、pycharm 2019.3.1。 我创建了一个conda环境并安装了pygame: 然后我运行了。我得到了以下错误: 在互联网上读了一些博客后,我安装了, 之后如果我运行在我的conda环境的Linux终端上,我的代码成功运行。 但是如果我尝试在中运行相同的代码,我会得到以下错误: /home/tiago/anacon
遇到了一个这样的问题,excel导入,需要设计表, 举例来说: 学生姓名、年龄、性别、2022年期末总分、2023年期末总分、2024年期末总分、2025年期末总分 这样的一个excel。应该如何设计这张表和实现导入功能呢? 数据量万条的数量级。 求指导
本文向大家介绍Java中excel表数据的批量导入方法,包括了Java中excel表数据的批量导入方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java中excel表数据的批量导入,供大家参考,具体内容如下 首先看下工具类: 再看下from.jsp页面 主界面jsp 页面点击的效果是,点击导入会跳入from.jsp页面 再看controller层 service层 以上就是本文
问题内容: 我们有一个现有的搜索功能,该功能涉及SQL Server中多个表之间的数据。这给我们的数据库造成了沉重的负担,因此我试图寻找一种更好的方式来搜索这些数据(它不会经常更改)。我与Logstash和Elasticsearch一起工作了大约一个星期,使用包含120万条记录的导入。我的问题本质上是“如何使用“主键”更新现有文档”? CSV数据文件(以竖线分隔)如下所示: 我的logstash配
这是im用于检索的代码
问题内容: 我有一个xlsx格式的下表,我想将其导入到我的sql数据库中: 该表非常复杂,我只需要‘1)HEADING’之后的记录 我一直在寻找要导入sql的php库,但它们似乎仅用于简单的excel文件。 问题答案: 您有两种方法可以实现: 第一种方法: 1)将其导出为某种文本格式。最简单的可能是制表符分隔的版本,但是CSV也可以使用。 2)使用负载数据功能。参见http://dev.mysql