Basic Components - Collection - Fetching strategies.php 984 Bytes
Newer Older
doctrine's avatar
doctrine committed
1
<?php
2
$table = $conn->getTable("User");
doctrine's avatar
doctrine committed
3 4 5 6 7 8 9

$table->setAttribute(Doctrine::ATTR_FETCHMODE, Doctrine::FETCH_IMMEDIATE);

$users = $table->findAll();

// or

10
$users = $conn->query("FROM User-I"); // immediate collection
doctrine's avatar
doctrine committed
11 12 13 14 15 16 17 18 19 20 21 22

foreach($users as $user) {
    print $user->name;
}


$table->setAttribute(Doctrine::ATTR_FETCHMODE, Doctrine::FETCH_LAZY);

$users = $table->findAll();

// or

23
$users = $conn->query("FROM User-L"); // lazy collection
doctrine's avatar
doctrine committed
24 25 26 27 28 29 30 31 32 33 34

foreach($users as $user) {
    print $user->name;
}

$table->setAttribute(Doctrine::ATTR_FETCHMODE, Doctrine::FETCH_BATCH);

$users = $table->findAll();

// or

35
$users = $conn->query("FROM User-B"); // batch collection
doctrine's avatar
doctrine committed
36 37 38 39 40 41 42 43 44 45 46

foreach($users as $user) {
    print $user->name;
}

$table->setAttribute(Doctrine::ATTR_FETCHMODE, Doctrine::FETCH_OFFSET);

$users = $table->findAll();

// or

47
$users = $conn->query("FROM User-O"); // offset collection
doctrine's avatar
doctrine committed
48 49 50 51 52

foreach($users as $user) {
    print $user->name;
}
?>