CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

17 August, 2022

A Package to Require Approval Before Peristing Model Data

 Programing Coderfunda     August 17, 2022     Laravel, Packages     No comments   

 The Laravel Approval package requires approval of new Model data before being persisted. This package uses Enums and thus requires PHP 8.1 and Laravel 9.

To get started with this package, use the provided MustBeApproved trait on a model:

1use Cjmellor\Approval\Concerns\MustBeApproved;
2 
3class Post extends Model
4{
5 use MustBeApproved;
6 
7 // ...
8}

The package uses a polymorphic relationship to store the data that must be approved in a new table called approvals. You can query approvals and set the state for a given approval using the following methods:

1use App\Models\Approval;
2 
3// Get approvals, rejected models, and pending.
4Approval::approved()->get();
5Approval::rejected()->get();
6Approval::pending()->count();
7 
8// Approve, reject or postpone an approval.
9Approval::where('id', 1)->approve();
10Approval::where('id', 2)->reject();
11Approval::where('id', 3)->postpone();

Finally, if you want to bypass the approval process and persist a model you can use the following method on your model:

1$model->withoutApproval()->update(['title' => 'Some Title']);

You can get started with this package by checking out the repository on Github at cjmellor/approval.

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg

Create Select Options from Enums, Laravel Models, and more

 Programing Coderfunda     August 17, 2022     Laravel, Packages     No comments   

 Laravel Options by Spatie is a package to create lists of options from different sources:

A typical web application always has many select fields with options. This package makes it simple to transform enums, models, states, and arrays to a unified option structure.

An example from the readme illustrates how this package can help ease working with select options in Laravel applications. Given an enum, you can use this package to build options:

1enum Hobbit: string
2{
3 case Frodo = 'frodo';
4 case Sam = 'sam';
5 case Merry = 'merry';
6 case Pippin = 'pippin';
7}
8 
9Options::forEnum(Hobbit::class)->toArray();
10 
11/* returns the following array
12[
13 ['label' => 'Frodo', 'value' => 'frodo'],
14 ['label' => 'Sam', 'value' => 'sam'],
15 ['label' => 'Merry', 'value' => 'merry'],
16 ['label' => 'Pippin', 'value' => 'pippin'],
17]
18*/
19 
20// Or return JSON
21Options::forEnum(Hobbit::class)->toJson();

Not only can you use Enums, but this package also supports data from various sources, including:

  • Models
  • Model States (via Spatie Model States)
  • Arrays
  • Manually

Another neat feature is that you can turn your options into a validation rule:

1$request->validate([
2 // ['in:frodo,sam,merry,pippin']
3 'hobbit' => Options::forEnum(Hobbit::class)->toValidationRule()
4]);

You can learn more about this package, get full installation instructions, and view the source code on GitHub. Also, read Introducing our new Laravel Options package by Freek Van der Herten to get the background and details on this package.

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Newer Posts Older Posts Home

Meta

Popular Posts

  • Vue.js Events
      In Vue.js, Events are used to respond to an action. Suppose, you have to build a dynamic website using Vue.js then you'll most likely ...
  • Is there a way to use awk to count the number of rows between 2 flags and input that number into a specific field?
    I have a set of data that consists of seismic wave travel times and their corresponding information (i.e. source that produced the wave and ...
  • Use Leaflet.js and Google Maps Blade Components in Laravel
      Laravel Maps   is a package to easily create maps using   Leaflet.js   or Google Maps and Blade components. The main features that work wi...
  • Luhn Algorithm Package for Laravel
    Laravel Luhn is a package by   Vincent Prat   that provides utilities to ease validation and computation of credit cards,   SIREN codes , an...
  • How to use Filament 3 with Laravel 11 | Beginner Course
    How to install filament 3 from scratch with Laravel 11. submitted by /u/Tilly-w-e [link] [comments]

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • July (4)
  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda