PHP code example of tomatophp / laravel-tomato
1. Go to this page and download the library: Download tomatophp/laravel-tomato library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tomatophp / laravel-tomato example snippets
use TomatoPHP\LaravelTomato\Facades\Tomato::register();
tomato()::register();
Tomato::register([
Menu::make()
->group(__('CRM'))
->label(__('Name'))
->route('home')
->icon('home'),
Widget::make()
->group(__('CRM'))
->label(__('Name'))
->counter(100)
->icon("bx bx-user"),
Slot::make()
->position(Positions::dashboardTop)
->view('dashboard-top'),
]);
Tomato::menu()->get();
Tomato::widget()->get();
Tomato::slot()->get();
return Tomato::request()->index(
request: request(),
model: App\Models\User::class,
);
public function index(Request $request): View|JsonResponse
{
return Tomato::index(
request: $request, //Required
model: $this->model, //Required
view: 'users.index',
table: \App\Tables\UserTable::class,
data: [
'name' => 'john doe',
],
api: true,
resource: UserResource::class,
query: User::query()->where('is_activated',true),
filters: [
'is_activated',
],
);
}
public function api(Request $request): JsonResponse
{
return Tomato::json(
request: $request, //Required
model: \App\Models\User::class, //Required
data: [
'name' => 'john doe',
],
paginate: 10,
query: User::query()->where('is_activated',true),
filters: [
'is_activated',
],
);
}
public function show(\App\Models\User $model): View|JsonResponse
{
return Tomato::get(
model: $model, //Required
view: 'users.show', //Required
data: [
'name' => 'john doe',
],
hasMedia: true,
collection: [
'avatar' => false,
'gallery' => true
],
attach: [
'roles' => $model->roles,
],
api: true,
resource: UserResource::class,
query: User::query()->where('is_activated',true)
);
}
public function store(Request $request): RedirectResponse|JsonResponse
{
$response = Tomato::store(
request: $request, //Required
model: \App\Models\User::class, //Required
validation: [
'name' => ' hasMedia: true,
collection: [
'avatar' => false,
'gallery' => true
],
api: true,
);
if($response instanceof JsonResponse){
return $response;
}
return $response->redirect;
}
public function update(Request $request, \App\Models\User $model): RedirectResponse|JsonResponse
{
$response = Tomato::update(
request: $request, //Required
model: $model, //Required
validation: [
'name' => ' 'gallery' => true
],
api: true,
);
if($response instanceof JsonResponse){
return $response;
}
return $response->redirect;
}
public function destroy(\App\Models\User $model): RedirectResponse|JsonResponse
{
$response = Tomato::destroy(
model: $model, //Required
message: __('User deleted successfully'), //Required
redirect: 'admin.users.index',
);
if($response instanceof JsonResponse){
return $response;
}
return $response->redirect;
}
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class User extends Model implements HasMedia
{
use InteractsWithMedia;
}
bash
composer vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
php artisan migrate