1. Go to this page and download the library: Download crocodicstudio/cbmodel 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/ */
crocodicstudio / cbmodel example snippets
namespace App\Models;
use DB;
use Crocodicstudio\Cbmodel\Core\Model;
class Books extends Model
{
public $tableName = "books";
public $connection = "mysql";
public $primary_key = "id";
public $id;
public $created_at;
public $name;
}
namespace App\Http\Controllers;
use App\Models\Books;
class FooController extends Controller {
public function index()
{
$books = Books::latest();
return view("books", ["bookData"=>$books]);
}
public function detail($id)
{
$book = Books::find($id);
return view("book_detail", ["book"=>$book]);
}
public function delete($id)
{
Books::deleteById($id);
return redirect()->back()->with(["message"=>"Book ".$book->name." has been deleted!"]);
}
}
/**
* @return Categories
*/
public function category() {
return $this->belongsTo("App\Models\Categories");
}
// or
/**
* @return Categories
*/
public function category() {
return Categories::find($this->categories_id);
}
namespace App\Http\Controllers;
use App\Models\Books;
class FooController extends Controller {
...
public function detail($id)
{
$book = Books::find($id);
$data = [];
$data['book_id'] = $book->id;
$data['book_name'] = $book->name;
$data['book_category_id'] = $book->category()->id;
$data['book_category_name'] = $book->category()->name;
return view("book_detail",$data);
}
}
$row = DB::table("books")->where("id",1)->first();
//Cast to CB Model
$model = new Books($row);
//And then you can use cb model normally
echo $model->name;
$book = new Books();
$book->created_at = date("Y-m-d H:i:s"); //this created_at is a magic method you can ignore this
$book->name = "New Book";
$book->categories_id = 1;
$book->save();
...
$book->save();
$lastInsertId = $book->id; // get the id from id property
...
/**
* Find all data by specific condition.
*/
$result = FooBar::findAllBy($column, $value = null, $sorting_column = "id", $sorting_dir = "desc");
// or
$result = FooBar::findAllBy(['foo'=>1,'bar'=>2]);
/**
* Find all data without sorting
*/
$result = FooBar::findAll();
/**
* Count the records of table
*/
$result = FooBar::count();
/**
* Count the records with specific condition
*/
$result = FooBar::countBy($column, $value = null);
// or
$result = FooBar::countBy(['foo'=>1,'bar'=>2]);
/**
* Find all datas and ordering the data to descending
*/
$result = FooBar::findAllDesc($column = "id");
// or simply
$result = FooBar::latest();
/**
* Find all datas and ordering the data to ascending
*/
$result = FooBar::findAllAsc($column = "id");
// or simply
$result = FooBar::oldest();
/**
* Find/Fetch a record by a primary key value
*/
$result = FooBar::findById($id);
// or simply
$result = FooBar::find($id);
/**
* Create a custom query, and result laravel Query Builder collection
*/
$result = FooBar::table()->where("foo",1)->first();
/**
* Create a custom query and casting to model object
*/
$result = FooBar::query(function($query) {
return $query->where("bar",1);
});
/**
* Create a custom list query and casting them to model objects
*/
$result = FooBar::queryList(function($query) {
return $query->where("bar",1);
});
/**
* Find a record by a specific condition
*/
$result = Foobar::findBy($column, $value = null);
// or
$result = Foobar::findBy(['foo'=>1,'bar'=>2]);
/**
* To run the insert SQL Query
*/
$fooBar = new FooBar();
$fooBar->name = "Lorem ipsum";
$fooBar->save();
/**
* To bulk insert
*/
$data = [];
$foo = new FooBar();
$foo->name = "Lorem ipsum 1";
array_push($data, $foo);
$bar = new FooBar();
$bar->name = "Lorem ipsum 2";
array_push($data, $bar);
FooBar::bulkInsert($data);
/**
* To run the update SQL Query
*/
$fooBar = FooBar::findById($value);
$fooBar->name = "Lorem ipsum";
$fooBar->save();
/**
* To delete the record by a primary key value
*/
FooBar::deleteById($value);
/**
* To delete the record by a specific condition
*/
FooBar::deleteBy($column, $value = null);
// or
Foobar::deleteBy(['foo'=>1,'bar'=>2]);
/**
* To delete after you fetch the record
*/
$fooBar = FooBar::findById($value);
$fooBar->delete();
class Posts extends Model {
// etc
/**
* @return App\Models\Comments[]
*/
public function comments() {
return $this->hasMany(Comments::class);
}
// or with full option
/**
* @return App\Models\Comments[]
*/
public function comments() {
return $this->hasMany(Comments::class, "foreign_key", "local_key", function($condition) {
return $condition->where("status","Active");
});
}
}
class Comments extends Model {
// etc
/**
* @return App\Models\Posts
*/
public function post() {
return $this->belongsTo(Posts::class);
}
// or with full option
/**
* @return App\Models\Posts
*/
public function post() {
return $this->belongsTo(Posts::class, "foreign_key", "local_key");
}
}
/app/Models/Books.php
/Books.php
/Categories.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.