1. Go to this page and download the library: Download nicollassilva/simplephp 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/ */
namespace Models;
use SimplePHP\Model\SimplePHP;
class User extends SimplePHP {
function __construct()
{
/**
* @param string Table Name
* @param string Primary Key
*/
parent::__construct('users', 'id');
}
}
Models\User;
$userModel = new User();
$user = $userModel->find()->execute();
use Models\User;
$userModel = new User();
/** find all users */
$user = $userModel->find()->execute();
/** find user by id */
$user = $userModel->find(5)->execute();
/** find users and return the total result count */
$count = $userModel->count()->execute();
/** find user with one where */
$user = $userModel->where([
['name', '=', 'Nicollas']
])->execute();
/** find user with several where. Conditional AND default */
$user = $userModel->where([
['name', '=', 'John'],
['email', '=', '[email protected]']
])->execute();
/** find user with LIKE. Conditional AND default */
$user = $userModel->where([
['name', 'LIKE', '%Guilherme%'],
['email', '=', '[email protected]']
])->execute();
/** find user with conditional where. Condicional OR */
$user = $userModel->where([
['name', 'LIKE', '%Nicollas%'],
['name', 'LIKE', '%Nicolas%']
], 'OR')->execute();
/** find users by name = Nicollas OR name = Nicolas */
$user = $userModel->where([
['name', '=', 'Nicollas']
])
->orWhere([
['name', '=', 'Nicolas']
])->execute();
/** find user using the basic structure query */
$user = $userModel->whereRaw("name = 'Nicollas'")->execute();
/** find users with limit */
$user = $userModel->limit(5)->execute();
/** find users with limit & offset */
$user = $userModel->limit(5)->offset(5)->execute();
/** find users with skip & take | the same as limit & offset */
$user = $userModel->take(5)->skip(5)->execute();
/** find users with orderBy. second parameter optional, default ASC */
$user = $userModel->orderBy('id', 'DESC')->orderBy('name')->execute();
/** find users and return results as attributes. EXAMPLE: $user->name instead of $user['name'] */
$user = $userModel->find()->execute(true);
/** find users with specific columns. */
$user = $userModel->find()->only(['name', 'id', 'email'])->execute();
/** find users creating exceptions in columns. */
$user = $userModel->find(5)->except(['password'])->execute();
/** search in other database table */
$user = (new User())->useTable('posts')->find()->where([['owner_id', '=', $user->id]])->execute();
/** debug query for possible errors | return string */
$user = $userModel->whereRaw("uuid = 'f031b537-672f-4fba-b8a6-af45e778ad93'")->debugQuery();
/** group by method */
$user = $userModel->groupBy('id');
/** Search for a user's posts varying between the privacy in which it was saved */
/** You can pass false as a fourth argument, the class will understand that you are trying to relate tables and will not put single quotes */
$posts = (new User())->useTable('posts p, users u')
->where([['u.id', '=', $user['id'] ?? $visit['id']],
['u.id', '=', 'p.user_id', false], /** example of the fourth argument for relating tables */
['p.privacity', '<=', isset($privacity) && is_array($privacity) ? 3 : ($visit['url'] != $flag ? 1 : 4)]])
->only(['p.*', 'u.name', 'u.url', 'u.i_profile'])
->limit(10)
->orderBy('p.id')
->execute();
use Models\User;
$userModel = new User();
$user = $userModel->find(3)->execute(true);
/** @return null|bool */
if($user->destroy()) {
echo "Success delete!";
}
use Models\User;
$userModel = new User();
$user = $userModel->find(8)->only(['id', 'name'])->execute(true);
$user->name = "Russian Gabolev";
$user->email = "[email protected]";
/** This informations was not called from the database, but they exist. */
$user->updated_at = time();
/** @return null|bool */
if($user->save()) {
echo "Success!";
}
use Models\User;
$userModel = new User();
$user = $userModel->request([
"name" => "Dr. Haylie Bahringer",
"email" => '[email protected]',
"password" => 123456 // Encrypt before sending to the database
])->create();
use Models\User;
$userModel = new User();
$_POST = [
"name" => "Hadjei Moccab",
"email" => "[email protected]",
"password" => 123456 // Encrypt before sending to the database
];
$user = $userModel->request($_POST)->create();