league/csv-doctrine

此包已被弃用,不再维护。作者建议使用 league/csv 包代替。

League\Csv 的 Doctrine CSV 适配器

资助包维护!
nyamsprod

9.16.0 2024-05-10 11:05 UTC

This package is auto-updated.

Last update: 2024-09-20 05:17:24 UTC


README

composer require league/csv-doctrine

查看文档

警告

随着 league\csv 9.16.0 的发布,此包正式标记为已弃用。除安全修复外,将不再对此包进行开发。如果您使用 composer,此包也被标记为弃用。

有关替代方案,请访问:https://csv.thephpleague.com/9.0/reader/statement/

简而言之,此包提供的功能已以更好的集成方式直接集成到主包中,无需第三方包。

以下示例

<?php

use Doctrine\Common\Collections\Criteria;use League\Csv\Doctrine as CsvDoctrine;use League\Csv\Reader;

$csv = Reader::createFromPath('/path/to/my/file.csv');
$csv->setHeaderOffset(0);
$csv->setDelimiter(';');

$criteria = Criteria::create()
    ->andWhere(Criteria::expr()->eq('prenom', 'Adam'))
    ->orderBy( [ 'annee' => 'ASC', 'foo' => 'desc', ] )
    ->setFirstResult(3)
    ->setMaxResults(10)
;

$resultset = CsvDoctrine\src\CriteriaConverter::convert($criteria)->process($csv);

9.16.0 版本以来,可以使用仅 Statement 类编写

<?php

use League\Csv\Reader;
use League\Csv\Statement;

$csv = Reader::createFromPath('/path/to/my/file.csv');
$csv->setHeaderOffset(0);
$csv->setDelimiter(';');

$criteria = Statement::create()
    ->andWhere('prenom', '=', 'Adam')
    ->orderByAsc('annee')
    ->orderByDesc('foo')
    ->offset(3)
    ->limit(10);
    
$resultset = $criteria->process($csv);