无效的日期时间格式:1366第1行的列`laravel_content_excel`.`projects`.`product_id`的整数值不正确:';[1]';(sql:INSERT INTO`pr [英] Invalid datetime format: 1366 Incorrect integer value: '[1]' for column `laravel_content_excel`.`projects`.`product_id` at row 1 (SQL:insert into `pr
本文介绍了无效的日期时间格式:1366第1行的列`laravel_content_excel`.`projects`.`product_id`的整数值不正确:';[1]';(sql:INSERT INTO`pr的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这里我有3个表,分别名为User、Products和Projects。表用户和产品具有一对多的关系。每个用户可以拥有多个产品,并且产品都有自己的ID。表产品和项目具有一对多的关系。每个产品都可以有多个项目。表USERS将列USER_ID作为外键。其中,user_id=用户的ID。和表项目有两个外键,分别名为user_id和product_id。其中,user_id=用户的id,product_id=产品的id。 在这里,我可以注册一个用户并在该用户下创建产品。。
现在,在步骤2中,我希望在Projects表中上载一个Excel文件。在Projects表中,列product_id=Products表的id,User_id=USERS表的id。当我尝试执行此操作时,出现以下错误:- SQLSTATE[22007]:日期时间格式无效:1366列<[2-0]..[2-1]..第1行(SQL:INSERT INTO<[2-4],<[2-5],title_1
,description_1
,image_1
,image_2
,image_3
,title_2
,<[2-12],title_3
,description_3
,video_1
,video_2
,video_3
,user_id
,product_id
,updated_at
,created_at
)值(第1章,子1,标题1,Desp 1,img 1,img 2,img 3,ti 2,des 2,ti3,des 3,v1,vdo2,vdo3,1,[1,2,3])值2021-06-10 09:58:43,2021-06-10 09:58:43)
我在这里创建了3个产品,其中id为1、2、3。您可以看到product_id取了所有产品的值,但当我上传Excel文件时,它应该只取一个产品的值。
我认为project tController.php和ImportProject.php中存在问题 This is My ProjectController.phpclass ProjectController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
// $projects = Project::where('user_id',auth()->user()->id)->latest()->paginate(20);
// $projects = Project::where('user_id',auth()->user()->id)->where('product_id')->latest()->paginate(20);
// $projects = Project::where('user_id',auth()->user()->id)->latest('product_id',8) ->paginate(20);
// $projects = Project::whereIn('product_id',Product::where('user_id',Auth::id())->pluck('id')->toArray())->latest();
// $projects = Project::whereIn('product_id',Product::where('user_id',Auth::id())->pluck('id')->toArray())->latest()->paginate(20);
$projects = Project::whereIn('product_id',Product::where('user_id',Auth::id())->pluck('id')->toArray())->latest()->paginate(20);
return view('projects.index', compact('projects'))
->with('i', (request()->input('page', 1) - 1) * 5);
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
return view('projects.create');
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
$request->validate([
'chapter_name' => 'required',
'sub_section_name' => 'required',
'title_1' => 'required',
'description_1' => 'required',
'image_1' => 'required',
'image_2' => 'required',
'image_3' => 'required',
'title_2' => 'required',
'description_2' => 'required',
'title_3' => 'required',
'description_3' => 'required',
'video_1' => 'required',
'video_2' => 'required',
'video_3' => 'required',
]);
// $input = $request->all();
// $input['user_id'] = auth()->user()->id;
// $input['product_id'] = $id;
$input = Project::whereIn('product_id',Product::where('user_id',Auth::id())->pluck('id'));
Project::create($input);
return redirect()->route('project.index')
->with('success','Product created successfully.');
}
/**
* Display the specified resource.
*
* @param AppModelsProject $project
* @return IlluminateHttpResponse
*/
public function show(Project $project)
{
// $category = $project->category;
return view('projects.show', compact('project'));
}
/**
* Show the form for editing the specified resource.
*
* @param AppModelsProject $project
* @return IlluminateHttpResponse
*/
public function edit(Project $project)
{
return view('projects.edit', compact('project'));
}
/**
* Update the specified resource in storage.
*
* @param IlluminateHttpRequest $request
* @param AppModelsProject $project
* @return IlluminateHttpResponse
*/
public function update(Request $request, Project $project)
{
// $user_id = Auth::user()->id ;
$request->validate([
'chapter_name' => 'required',
'sub_section_name' => 'required',
'title_1' => 'required',
'description_1' => 'required',
'image_1' => 'required',
'image_2' => 'required',
'image_3' => 'required',
'title_2' => 'required',
'description_2' => 'required',
'title_3' => 'required',
'description_3' => 'required',
'video_1' => 'required',
'video_2' => 'required',
'video_3' => 'required',
]);
$input = $request->all();
$project->update($input);
return redirect()->route('project.index')
->with('success','Product updated successfully');
}
/**
* Remove the specified resource from storage.
*
* @param AppModelsProject $project
* @return IlluminateHttpResponse
*/
public function destroy(Project $project)
{
$project->delete();
return redirect()->route('projects.index')
->with('success', 'Project deleted successfully');
}
public function importProject()
{
Excel::import(new ProjectsImport, request()->file('file'));
return back()->with('success','Project created successfully.');
}
public function export()
{
return Excel::download(new UsersExport, 'projects.xlsx');
}
}
这是我的ImportProject.php
class ProjectsImport implements ToModel, WithHeadingRow
{
public function __construct()
{
Project::truncate();
}
/**
* @param array $row
*
* @return IlluminateDatabaseEloquentModel|null
*/
public function model(array $row)
{
return new Project([
'chapter_name' => $row['chapter_name'],
'sub_section_name' => $row['sub_section_name'],
'title_1' => $row['title_1'],
'description_1' => $row['description_1'],
'image_1' => $row['image_1'],
'image_2' => $row['image_2'],
'image_3' => $row['image_3'],
'title_2' => $row['title_2'],
'description_2' => $row['description_2'],
'title_3' => $row['title_3'],
'description_3' => $row['description_3'],
'video_1' => $row['video_1'],
'video_2' => $row['video_2'],
'video_3' => $row['video_3'],
'user_id' => auth()->user()->id,
'product_id' => Product::where('user_id',Auth::id())->pluck('id')
// 'product_id' => Product::pluck('id')
// 'product_id' => 2
]);
}
}
感谢您的帮助:)
推荐答案
我在项目导入.php中使用了‘PRODUCT_id’=>;Product::where(‘User_id’,Auth::id())->;Pluuck(‘id’)->;last()
这篇关于无效的日期时间格式:1366第1行的列`laravel_content_excel`.`projects`.`product_id`的整数值不正确:';[1]';(sql:INSERT INTO`pr的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文