Skip to content
何延龙 edited this page Apr 17, 2019 · 3 revisions

CRUD

Declaring Models

use Vanilla\Database\Model;
class User extends Model
{
    public $tableName = 'users';
}

Create

$user = new User();
$user->name = 'google';
$user->email = 'google#gmail.com';
$user->save();
//// INSERT INTO users (`name`, `email`) VALUES('google', 'google#gmail.com')

Where

// Get first matched record
User::where("name = ?", "vanilla")->first()
//// SELECT * FROM users WHERE name = 'vanilla' limit 1;

// Get all matched records
User::where("name = ?", "vanilla")->find()
//// SELECT * FROM users WHERE name = 'vanilla';

// <>
User::where("name <> ?", "vanilla")->find()

// IN
User::where("name in (?)", ["vanilla", "vanilla 2"])->find()

// LIKE
User::where("name LIKE ?", "%van%")->find()

// AND
User::where("name = ? AND age >= ?", "vanilla", "22")->find()
// Time
User::where("updated_at > ?", lastWeek)->find()

// BETWEEN
User::where("created_at BETWEEN ? AND ?", lastWeek, today)->find()

Update Changed Fields

If you only want to update changed Fields, you could use Update, Updates

// Update single attribute
User::update("name", "hello");
//// UPDATE users SET name='hello';

// Update single attribute with combined conditions
User::where("active = ?", true)->update("name", "hello");
//// UPDATE users SET name='hello' WHERE active=true;

// Update single attribute with user object
$user = User::where("name = ? and id = ?", "vanilla", 1)->first()
$user->name = 'hello';
$user->save();
//// UPDATE users SET name='hello' WHERE id = 1;
Clone this wiki locally