рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ created_at
рдлрд╝реАрд▓реНрдб рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВ phpmyadmin рдореЗрдВ 1970-01-01 рджреЗрдЦрддрд╛ рд╣реВрдВ
namespace App\Imports;
use App\NewsPost;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class NewsImport implements ToCollection, WithHeadingRow
{
public $rowCount = null;
public function collection(Collection $rows)
{
News::truncate();
foreach ($rows as $row)
{
if( !empty($row['category_id'])) {
NewsPost::create([
'category_id'=> $row['category_id'],
'title' => $row['title'],
'sef' => $row['sef'],
'introtext' => $row['introtext'],
'fulltext' => $row['fulltext'],
'image' => $row['image'],
'metatitle' => $row['metatitle'],
'metakey' => $row['metakey'],
'metadesc' => $row['metadesc'],
'hits' => $row['hits'],
'created_at' => $row['created_at'],
]);
}
}
$this->rowCount = $rows->count();
}
}
namespace App\Admin\Controllers;
use Illuminate\Support\Facades\DB;
use App\Imports\NewsPostImport;
use Maatwebsite\Excel\Facades\Excel;
class SeedController extends BaseAdminController
{
public function index(Content $content)
{
DB::statement('SET FOREIGN_KEY_CHECKS = 0');
Excel::import($newsPost = new NewsPostImport, 'import/news_posts.xlsm');
DB::statement('SET FOREIGN_KEY_CHECKS = 1');
return $content
->title('Import & Export')
->description('Laravel excel')
->withSuccess('╨Ш╨╝╨┐╨╛╤А╤В ╨╖╨░╨▓╨╡╤А╤И╨╡╨╜ ╤Г╤Б╨┐╨╡╤И╨╜╨╛',
'<p>╨Ш╨╝╨┐╨╛╤А╤В╨╕╤А╨╛╨▓╨░╨╜╨╛ '. $newsPost->rowCount.' ╨╜╨╛╨▓╨╛╤Б╤В╨╡╨╣</p>');
}
}
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдореЙрдбрд▓ рдкрд░ fill_at рднрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ?
рд╣рд╛рдБред рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рдлрд╝реАрд▓реНрдб рднрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ
dd() рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╣реИред
рд╡рд┐рд▓рдореНрдм рдХреЗ рд▓рд┐рдП рдЦреЗрджред рдореИрдВ рдЫреБрдЯреНрдЯреА рдкрд░ рдерд╛ред
рдореИрдВ рдпрд╣рд╛рдБ dd рдбрд╛рд▓рддрд╛ рд╣реВрдБ
if (empty($row['slug'])) {
News::create([
'category_id' => $row['category_id'],
'title' => $row['title'],
'slug' => Str::slug($row['title'], '-'),
'fulltext' => $row['fulltext'],
'image' => $row['image'],
'metatitle' => $row['metatitle'],
'metakey' => $row['metakey'],
'metadesc' => $row['metadesc'],
'hits' => $row['hits'],
'published_at' => $row['published_at'],
'created_at' => $row['created_at'],
'updated_at' => $row['updated_at'],
'deleted_at' => $row['deleted_at'],
]);
dd($row);
}
рдФрд░ рдореБрдЭреЗ рдкреГрд╖реНрда рдкрд░ рдЕрдЬреАрдм рджрд┐рдирд╛рдВрдХ рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ
Illuminate\Support\Collection {#1986 тЦ╝
#items: array:14 [тЦ╝
"category_id" => 4
.......
"published_at" => null
"created_at" => 41767
]
}
рдореЗрд░реЗ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЙрд╕ рддрд░рд╣ рдХреА рддрд╛рд░реАрдЦ рд╣реИ
рдХреЛрдИ рдЙрдкрд╛рдп?
рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реАред
рдореИрдВрдиреЗ dd($row)
рдХреЛ News::create
рд╕реЗ рдкрд╣рд▓реЗ рд░рдЦрд╛ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдПрдХреНрд╕реЗрд▓ рд╕реЗ рдХреНрдпрд╛ рдЖрддрд╛ рд╣реИред
рдФрд░ рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ 41767 рджреЗрдЦрд╛ред
рдлрд┐рд░ рдореИрдВ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВ рдФрд░ create_at рдлрд╝реАрд▓реНрдб рдХреЗ рд╕реНрд╡рд░реВрдкрдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛
рдРрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП рдореИрдВрдиреЗ рд╕рдордЭрд╛ рдХрд┐ рдЖрдпрд╛рдд рд╕реЗ рдкрд╣рд▓реЗ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╕рднреА рддрд┐рдерд┐рдпреЛрдВ рдХреЛ рдкрд╛рда рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрди рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛, рддрд╛рд░реАрдЦреЗрдВ рдЕрдВрджрд░ рдбрд╛рд▓ рджреАрдВ рдФрд░ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдореИрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред
рдЦрдЬреВрд░ рдХрд╛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╕рд┐рд░рджрд░реНрдж рд╣реИред рдореИрдВ рдирд┐рдпрдо рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛, рдЬреЛ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдХреБрдЫ рдмрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдХрд┐ рдЖрдпрд╛рдд рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рддрд╛рд░реАрдЦ рдХреИрд╕реЗ рд░рдЦрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдореБрдЭреЗ рд╕реНрдерд┐рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рд╕рднреА рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб рдкреНрд░рд╛рд░реВрдк = рдЯреЗрдХреНрд╕реНрдЯ рдмрдирд╛рддрд╛ рд╣реВрдВред
рдЬрдм рдореИрдВ рджрд┐рдирд╛рдВрдХ 08-05-2014
рдбрд╛рд▓рддрд╛ рд╣реВрдВ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рд╡реИрд╕реЗ рднреА рдореБрдЭреЗ рдЖрдпрд╛рдд рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реИ
Unexpected data found.
Unexpected data found.
Data missing
http://localhost.test/admin/seed
\ рд╡рд┐рдХреНрд░реЗрддрд╛ \ nesbot \ рдХрд╛рд░реНрдмрди \ src \ рдХрд╛рд░реНрдмрди \ рд▓рдХреНрд╖рдг \ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдПред php: 623
if (static::isStrictModeEnabled()) {
throw new InvalidArgumentException(implode(PHP_EOL, $lastErrors['errors']));
}
рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ dd($row)
рд╣реВрдВ рддреЛ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ
"created_at" => "08-05-2014"
рдЧрд▓рдд рдХреНрдпрд╛ рд╣реИ?
рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ред
рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рджрд┐рдирд╛рдВрдХ 2014-05-08
рд░рдЦрдиреЗ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░реНрдп рддрд░реАрдХрд╛ рд╣реИред
рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХреНрд░рдо рдореЗрдВ рдЗрд╕реЗ MySQL = YYYY-MM-DD . рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ
08-05-2014 - рдЧрд▓рдд рдЖрджреЗрд╢
08.05.2014 - рдЧрд▓рдд рд╕реАрдорд╛рдВрдХрдХ рдФрд░ рдЧрд▓рдд рдЖрджреЗрд╢
2014.05.08 - рдЧрд▓рдд рдкрд░рд┐рд╕реАрдордХ de
рдпрджрд┐ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджрд┐рдирд╛рдВрдХ 2014-05-08 рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рджрд┐рдирд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб рд╣рдореЗрд╢рд╛ рдЖрдпрд╛рдд рд╕реЗ рдкрд╣рд▓реЗ 41767 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЧрдП рдереЗред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпреЛрдВред
рдореИрдВрдиреЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХрдирд╡рд░реНрдЯрд░ рдХреА рддрд╛рд░реАрдЦ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдореБрдЭреЗ рджреЗрддрд╛ рд╣реИ
2014-05-08 = 1399507200ред
08-05-2014 = 1407182400
рдЬрдм рдореИрдВ рдПрдХреНрд╕реЗрд▓ рдлреЙрд░реНрдореВрд▓рд╛ =text(08.05.2014;0)
рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ 41767 рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ
рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХреНрд╕реЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдФрд░ рдЕрдЧрд░ рдореИрдВ рджрд┐рдирд╛рдВрдХ рдлрд╝реАрд▓реНрдб рдХреЛ YYYY-MM-DD рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рднреА рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ рдХреЗрд╡рд▓ рдХрд╛рдордХрд╛рдЬреА рд╕рдорд╛рдзрд╛рди рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░рд╛рд░реВрдк рд╣реИ рдЬрд┐рд╕рдореЗрдВ YYYY-MM-DD рдЯреЗрдХреНрд╕реНрдЯ рдЕрдВрджрд░ рд╣реИред
рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред 'рддрд╛рд░реАрдЦ' рдлрд╝реАрд▓реНрдб рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛ рд░рд╣реЗ рд╣реИрдВ (рдПрдХ рд░реЗрдлрд░реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?) рдФрд░ рдореВрд▓реНрдп рдирд╣реАрдВред
рджрд┐рдирд╛рдВрдХ рдХреЙрд▓рдо рдХреЛ рджрд┐рдирд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд╛рд░реНрдмрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date:: excelToDateTimeObject($row['created_at']))
рдпрд╣ рдЦрд╛рд▓реА рдЦреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдЖрдпрд╛рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦрд╛рд▓реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣реБрдВрдЪрддреА рд╣реИ рддреЛ рдпрд╣ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд░реБрдХ рдЬрд╛рддреА рд╣реИред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ Laravel 7 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред Laravel 6 рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '1970-01-01 00:00:00' for column 'published_at' at row 1 (SQL: insert into `news_posts` (`category_id`, `title`, `slug`, `fulltext`, `image`, `metatitle`, `metakey`, `metadesc`, `hits`, `is_published`, `published_at`, `created_at`, `updated_at`, `deleted_at`) values ...
рдХреНрдпрд╛ рдХрд░реЗрдВ?
IF рдХреНрд▓реЙрдЬ рдЗрдВрдкреЛрд░реНрдЯ рдХреЗ рдЕрдВрджрд░ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ
if (empty($row['published_at'])) {
'published_at' => $row['published_at'],
} else {
'published_at' => Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['published_at'])),
}
рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ syntax error, unexpected 'if' (T_IF), expecting ']'
рдЗрд╕реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЪрд░ рдореЗрдВ рд░рдЦреЗрдВ
"рдЕрд╕реНрдерд╛рдпреА рдЪрд░" рдХреЗ рддрд╣рдд рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛
foreach ($rows as $row)
{
if (!empty($row['category_id'])) {
$slug = empty($row['slug']) ? Str::slug($row['title'], '-') : $row['slug'];
$published_at = empty($row['published_at']) ? $row['published_at'] : Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['published_at']));
$created_at = empty($row['created_at']) ? $row['created_at'] : Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['created_at']));
$updated_at = empty($row['updated_at']) ? $row['updated_at'] : Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['updated_at']));
$deleted_at = empty($row['deleted_at']) ? $row['deleted_at'] : Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['deleted_at']));
NewsPost::create([
'category_id' => $row['category_id'],
'title' => $row['title'],
'slug' => $slug,
'fulltext' => $row['fulltext'],
'image' => $row['image'],
'metatitle' => $row['metatitle'],
'metakey' => $row['metakey'],
'metadesc' => $row['metadesc'],
'hits' => $row['hits'],
'is_published' => $row['is_published'],
'published_at' => $published_at,
'created_at' => $created_at,
'updated_at' => $updated_at,
'deleted_at' => $deleted_at,
]);
}
}
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рджрд┐рдирд╛рдВрдХ рдХреЙрд▓рдо рдХреЛ рджрд┐рдирд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд╛рд░реНрдмрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date:: excelToDateTimeObject($row['created_at']))