使用laravel将csv文件植入数据库时,文本被切断

dtcbnfnu  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(382)

尝试为我的数据库设置种子时,会发生以下情况:

Seeding: UsersTableSeeder
array (
  'name' => 'Tester One',
  'email' => 'testerone@gmail.com',
  'password' => 'Testing123',
Tester Two',esterone.png
)

数组的最后一个值显示下一个测试器的名称,第一个测试器图像的第一个字符由于某种原因被切断。下一个测试者甚至都不会被播种。当我查看数据库时,最后一列(名为“avatar”)显示了整个图像文件(因此testerone.png而不是esterone.png)以及tester two的名称。
这是我的 UsersTableSeeder.php ```
use Illuminate\Database\Seeder;
use League\Csv\Reader;

class UsersTableSeeder extends Seeder
{

public function run()
{
$path = resource_path() .'/postSeed/userseed.csv';
$reader = Reader::createFromPath($path, 'r');

$records = $reader->getRecords(['name', 'email', 'password', 'avatar']);
foreach ($records as $offset => $record) {
    var_export($record);

    DB::table('users')->insert([
        'name' => $record['name'],
        'email' => $record['email'],
        'password' => bcrypt($record['password']),
        'created_at' => date("Y-m-d H:i:s"),
        'updated_at' => date("Y-m-d H:i:s"),
        'avatar' => $record['avatar'],
    ]);
}

}
}

我的csv文件如下所示:

Tester One,testerone@gmail.com,Testing123,testerone.png
Tester Two,testertwo@gmail.com,Testing123,testertwo.jpg
Tester Three,testerthree@gmail.com,Testing123,testerthree.jpg
Tester Four,testerfour@live.be,Testing123,testerfour.jpg
Testert Five,testerfive@hotmail.com,Testing123,testerfive.jpg
Tester Six,testersix@stubru.be,Testing123,testersix.jpg

太好了!
pzfprimi

pzfprimi1#

在网上看了一番之后,我试着看看我的csv文件是否有问题。我把它们放在csv编辑器和查看器上,然后从那里重新下载它们,它似乎突然起作用了。奇怪的。

相关问题