拉拉维尔 雄辩后保存id变为0
这是一个从 https://github.com/lucadegasperi/oauth2-server-laravel 迁移的表
在表中,id 的字段数据类型是 varchar(40),而不是 int。oauth_clients
$name = Input::get('name');
$id = str_random(40);
$secret = str_random(40);
$client = new oauthClient;
$client->name = $name;
$client->id = $id;
$client->secret = $secret;
$client->save();
保存() 之后);$client->id变为“0”,而不是我分配的字符串。
这使得以下关系表保存失败。
$endpoint = new OauthClientEndpoint(array('redirect_uri' => Input::get('redirect_uri));
$client->OauthClientEndpoint()->save($endpoint);
我检查了:保存后,它变为0,我得到一个错误,包括这个:$client->id
(SQL: insert into `oauth_client_endpoints` (`redirect_uri`, `client_id`, `updated_at`, `created_at`) values (http://www.xxxxx.com, 0, 2014-09-01 11:10:16, 2014-09-01 11:10:16))
我手动保存了一个端点,以防止此错误。但是,我该如何解决此问题?
这是我的模型:
class OauthClient extends Eloquent {
  protected $table = 'oauth_clients';
  public function OauthClientEndpoint(){
    return $this->hasOne('OauthClientEndpoint', 'client_id', 'id');
  }
}
class OauthClientEndpoint extends Eloquent {
  protected $table = 'oauth_client_endpoints';
  protected $fillable = array('redirect_uri');
  public function OauthClient(){
    return $this->belongsTo('OauthClient', 'client_id', 'id');
  }
}
class CreateOauthClientsTable extends Migration {
  public function up() {
    Schema::create('oauth_clients', function (Blueprint $table) {
      $table->string('id', 40);
      $table->string('secret', 40);
      $table->string('name');
      $table->timestamps();
      $table->unique('id');
      $table->unique(array('id', 'secret'));
    });
  }
  public function down() {
    Schema::drop('oauth_clients');
  }
}
class CreateOauthClientEndpointsTable extends Migration {
  public function up() {
    Schema::create('oauth_client_endpoints', function (Blueprint $table) {
      $table->increments('id');
      $table->string('client_id', 40);
      $table->string('redirect_uri');
      $table->timestamps();
      $table->foreign('client_id')
        ->references('id')->on('oauth_clients')
        ->onDelete('cascade')
        ->onUpdate('cascade');
    });
  }
  public function down() {
    Schema::table('oauth_client_endpoints', function ($table) {
      $table->dropForeign('oauth_client_endpoints_client_id_foreign');
    });
    Schema::drop('oauth_client_endpoints');
  }
}
 
					 
				 
				    		 
				    		 
				    		 
				    		