示例#1
1
 /**
  * Invite a new player to guild
  *
  * @return void
  */
 public function invite(Character $player, $gid)
 {
     Capsule::insert('INSERT INTO `guild_invites` (`player_id`, `guild_id`) VALUES (?, ?)', [$player->id, $gid]);
 }
 public function setBonusAttribute($value)
 {
     DB::delete('delete from t_event_bonuses where event_id = ? and player_id = ?', [$this->event->id, $this->player->id]);
     if ($value && $value != 'null') {
         DB::insert('insert into t_event_bonuses (event_id, player_id, bonus_id) values (?, ?, ?)', [$this->event->id, $this->player->id, $value]);
     }
 }
 public function testRawQueries()
 {
     // Insert
     $inserted = Capsule::insert('INSERT INTO articles (title) VALUES (:title)', ['title' => static::ARTICLE_TITLE]);
     $this->assertTrue($inserted);
     // Last Insert ID
     $id = Capsule::connection()->getPdo()->lastInsertId();
     $this->assertEquals(1, $id);
     // Select
     $articles = Capsule::select('SELECT * FROM articles WHERE id = ?', [$id]);
     $this->assertCount(1, $articles);
     $this->assertEquals($articles[0]->title, static::ARTICLE_TITLE);
     // Delete
     $deleted = Capsule::delete('DELETE FROM articles WHERE id = ?', [$id]);
     $this->assertEquals(1, $deleted);
     // Count
     $count = Capsule::selectOne('SELECT COUNT(*) as nb FROM articles');
     $this->assertEquals(0, $count->nb);
 }
 /**
  * Create some users for the tests to use
  */
 private function seedUsersTable()
 {
     DB::insert('INSERT INTO ' . DB::getTablePrefix() . 'users (id, name, email, created_at, updated_at) VALUES (?, ?, ?, datetime(), datetime())', [1, 'Chris Gmyr', '*****@*****.**']);
     DB::insert('INSERT INTO ' . DB::getTablePrefix() . 'users (id, name, email, created_at, updated_at) VALUES (?, ?, ?, datetime(), datetime())', [2, 'Adam Wathan', '*****@*****.**']);
     DB::insert('INSERT INTO ' . DB::getTablePrefix() . 'users (id, name, email, created_at, updated_at) VALUES (?, ?, ?, datetime(), datetime())', [3, 'Taylor Otwell', '*****@*****.**']);
 }
 public function test_custom_meta_model()
 {
     // This test is ridiculously complicated. There has to be an easier way!
     // If tests fail or error, you may have to clear out test.sqlite before running again
     // The `CustomModelParent` model uses a custom model to handle it's meta
     // The `CustomModelChild` handles meta for `CustomModelParent`
     // The `CustomModelChild` uses `custom_model_meta` as its table
     // First, create the `custom_model_parents` table and insert a record
     Capsule::schema()->create('custom_model_parents', function ($table) {
         $table->increments('id');
         $table->string('dummy', 255);
     });
     Capsule::insert('insert into custom_model_parents (dummy) values (?)', ['data']);
     // Second, create the `custom_model_meta` table
     Capsule::schema()->create('custom_model_meta', function ($table) {
         $table->increments('id');
         $table->integer('metable_id')->unsigned();
         $table->string('metable_type', 255);
         $table->string('key', 128);
         $table->text('value');
         $table->index('metable_id');
         $table->index('key');
     });
     // Start up the parent
     $model = CustomModelParent::find(1);
     // Now test that the CustomModelParent is working
     $this->assertEquals('this is a CustomModelParent method', $model->modelMethod(), 'failed to use custom method for Parent');
     // Test that data is being saved to the correct table
     $model->addMeta('testTable', 'value');
     $results = Capsule::select('select * from custom_model_meta');
     $this->assertEquals(['id' => 1, 'metable_id' => '1', 'metable_type' => 'Phoenix\\EloquentMeta\\Test\\Stubs\\CustomModelParent', 'key' => 'testTable', 'value' => 'value'], $results[0], "failed to get save meta to correct table");
     // Last, clean up our tables
     Capsule::schema()->drop('custom_model_meta');
     Capsule::schema()->drop('custom_model_parents');
 }