<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
view-components / eloquent-data-processing example snippets
use MyApp\UserModel;
use ViewComponents\Eloquent\EloquentDataProvider;
$provider = new EloquentDataProvider(UserModel::class);
use ViewComponents\ViewComponents\Data\Operation\FilterOperation;
$provider->operations()->add(
new FilterOperation('role', FilterOperation::OPERATOR_EQ, 'Manager')
);
use ViewComponents\Eloquent\EloquentDataProvider;
$provider = new EloquentDataProvider((new MyApp\UserModel)->newQuery());
use ViewComponents\Eloquent\EloquentDataProvider;
$query = MyApp\UserModel
::where('role', '=', 'Manager')
->where('company', '=', 'Facebook')
->orderBy('id');
$provider = new EloquentDataProvider($query);
use DB;
use ViewComponents\Eloquent\EloquentDataProvider;
$provider = new EloquentDataProvider(
DB::table('users')->where('name', '=', 'David')
);
use MyApp\UserModel;
use ViewComponents\Eloquent\EloquentDataProvider;
use ViewComponents\ViewComponents\Data\Operation\FilterOperation;
$provider = new EloquentDataProvider(
UserModel::class
[
new FilterOperation('role', FilterOperation::OPERATOR_EQ, 'Manager')
new SortOperation('id', SortOperation::DESC),
]
);
use MyApp\UserModel;
use ViewComponents\Eloquent\EloquentDataProvider;
$provider = new EloquentDataProvider(UserModel::class);
foreach ($provider as $user) {
var_dump($user); // instance of UserModel
}
use MyApp\UserModel;
use ViewComponents\Eloquent\EloquentDataProvider;
use ViewComponents\ViewComponents\Data\Operation\FilterOperation;
$provider = new EloquentDataProvider(UserModel::class);
// databse query will be executed
$provider->getIterator();
// databse query will not be executed again, iterating over same data
$provider->getIterator();
$provider->operations->add(
new FilterOperation('id', FilterOperation::OPERATOR_LTE, 5)
)
// databse query will be executed again
$provider->getIterator();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.