Created
August 15, 2018 18:43
-
-
Save nyamsprod/12e6d01da00176ce00a70f9288561bc9 to your computer and use it in GitHub Desktop.
Introducing Bakame CSV Doctrine Collection Bridge Post Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use Doctrine\Common\Collections\Criteria; | |
use League\Csv\Reader; | |
use function Bakame\Csv\Extension\criteria_convert; | |
$criteria = Criteria::create() | |
->andWhere(Criteria::expr()->contains('email', '@gmail.com')) | |
->setFirstResult(0) | |
->setMaxResults(10); | |
$csv = Reader::createFromPath('/path/to/my/file.csv'); | |
$csv->setHeaderOffset(0); | |
$csv->setDelimiter(';'); | |
$stmt = criteria_convert($criteria); | |
$resultset = $stmt->process($csv); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use Doctrine\Common\Collections\Criteria; | |
$criteria = Criteria::create() | |
->andWhere(Criteria::expr()->contains('email', '@gmail.com')) | |
->setFirstResult(0) | |
->setMaxResults(10); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use League\Csv\Reader; | |
use League\Csv\Statement; | |
$csv = Reader::createFromPath('/path/to/my/file.csv'); | |
$csv->setHeaderOffset(0); | |
$csv->setDelimiter(';'); | |
$stmt = (new Statement()) | |
->where(function (array $record) { | |
return isset($record['email']) | |
&& preg_match('/\@gmail\.com$/i', $record['email']); | |
}) | |
->limit(10) | |
->offset(0); | |
foreach ($stmt->process($csv) as $record) { | |
//do something with row which contains gmail.com emails... | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use Bakame\Csv\Extension\RecordCollection; | |
use Doctrine\Common\Collections\Criteria; | |
use League\Csv\Reader; | |
$csv = Reader::createFromPath('/path/to/my/file.csv'); | |
$csv->setHeaderOffset(0); | |
$csv->setDelimiter(';'); | |
$collection = new RecordCollection($csv); | |
$criteria = Criteria::create() | |
->andWhere(Criteria::expr()->contains('name', 'gmail.com')) | |
->setFirstResult(0) | |
->setMaxResults(10); | |
$result = $collection->matching($criteria); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment