“Многократный первичный ключ определил Laravel” Ответ

Красноречивая первичная ключ Laravel

protected $primaryKey = ['user_id', 'stock_id'];
public $incrementing = false;
Foolish Flamingo

Красноречивая первичная ключ Laravel

/**
 * Set the keys for a save update query.
 *
 * @param  \Illuminate\Database\Eloquent\Builder  $query
 * @return \Illuminate\Database\Eloquent\Builder
 */
protected function setKeysForSaveQuery(Builder $query)
{
    $keys = $this->getKeyName();
    if(!is_array($keys)){
        return parent::setKeysForSaveQuery($query);
    }

    foreach($keys as $keyName){
        $query->where($keyName, '=', $this->getKeyForSaveQuery($keyName));
    }

    return $query;
}

/**
 * Get the primary key value for a save query.
 *
 * @param mixed $keyName
 * @return mixed
 */
protected function getKeyForSaveQuery($keyName = null)
{
    if(is_null($keyName)){
        $keyName = $this->getKeyName();
    }

    if (isset($this->original[$keyName])) {
        return $this->original[$keyName];
    }

    return $this->getAttribute($keyName);
}
Foolish Flamingo

Многократный первичный ключ определил Laravel

public function up()
{
    Schema::create('spins', function (Blueprint $table) {
        $table->engine = 'MyISAM';
        $table->integer('rid')->unsigned();
        $table->bigInteger('pid');
        $table->integer('result');
        $table->integer('bet');
        $table->timestamps();
        $table->primary(array('rid', 'pid'));

        DB::statement('ALTER TABLE spins MODIFY rid INTEGER NOT NULL AUTO_INCREMENT');
    });
}
Borma

Ответы похожие на “Многократный первичный ключ определил Laravel”

Вопросы похожие на “Многократный первичный ключ определил Laravel”

Больше похожих ответов на “Многократный первичный ключ определил Laravel” по PHP

Смотреть популярные ответы по языку

Смотреть другие языки программирования