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

  • Sitaare Zameen Par Full Movie Review
     Here’s a  complete Vue.js tutorial for beginners to master level , structured in a progressive and simple way. It covers all essential topi...
  • Tailwindcss best practices for responsive design
    Tailwind CSS provides powerful utilities for responsive design out of the box. To use it effectively and maintain clean, scalable code, here...
  • Tailwind CSS Tutorial (Beginner to Master)
    Here's a simple and complete Tailwind CSS tutorial designed for students and beginners , progressing step-by-step from beginner to mast...
  • Step-by-step Vue.js Tutorial Beginner to Master
    Here’s a complete Vue.js tutorial for beginners to master level , structured in a progressive and simple way. It covers all essential topics...
  • Is there a way to write a JavaScript program that enables you to Search Words in Multiple PDF Files?
    I need to create a simple program/system/application using JavaScript that enables a user to search a certain word in multiple scanned PDF f...

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