J'essaie d'étendre le plugin utilisateur octobre cms à l'événement de registre et d'obtenir les données de poste et écrire l'utilisateur et la newsletter s'abonner à la table des lettres lors de l'enregistrement dit "SQLSTATE [42S22]: Colonne non trouvée: 1054 Colonne inconnue 'updated_at' dans 'liste des champs' (SQL: insérer dans cg_newsletter
(updated_at
,) valeurs" Je ne sais pas pourquoi il se plaint de la date de création ou de mise à jour ne pas les créer dans le modèle et je ne suis pas en train de mettre à jour ces colonnes. Toute aide grandement appréciée.octobre cms extension du plugin with event Le modèle n'est pas instancié correctement
modèle
<?php
namespace CG\Newsletter\Models;
use Model;
/**
* Model
*/
class Newsletter extends Model {
protected $primaryKey = 'id';
/**
*
* @var string The database table used by the model.
*/
public $table = 'cg_newsletter';
public $belongsTwo = [
'user' => ['rainlab/user/models/user']
];
public $isSubscribed;
}
plugin.php
<?php
namespace CG\Newsletter;
use System\Classes\PluginBase;
use Log;
use Event;
use Rainlab\User\Components\Account as RainlabAccount;
//use Rainlab\User\models\user as RainlabUser;
use Request;
use Illuminate\Support\Facades\Input;
use Rainlab\user\Models\User as RainlabUser;
use Auth;
use CG\Newsletter\Models\Newsletter;
class Plugin extends PluginBase {
public function registerSettings() {
return [
'settings' => [
'label' => 'Newsletter',
'description' => 'Newsletter subscription',
'category' => 'misc',
'icon' => 'icon-shopping-basket',
'class' => 'CG\Newsletter\Models\Settings',
'order' => 500,
'keywords' => 'newsletter settings',
'permissions' => [
'admin'
]
]
];
}
public function boot()
{
Event::listen('eloquent.updating: RainLab\User\Models\User',
function(){
$data = post();
if (array_key_exists('email', $data)) {
Log::debug(__FUNCTION__,[$data['email']]);
$user = RainlabUser::findByEmail($data['email']);
Log::debug(__FUNCTION__,[$user->id]);
$newsletter = new Newsletter();
$newsletter->belongsTwo = $user->id;
$newsletter->isSubscribed =1;
$newsletter->save();
}
});
}
}
fichier de migration
<?php namespace CG\Newsletter\Updates;
use Schema;
use October\Rain\Database\Updates\Migration;
class BuilderTableCreateCgNewsletter extends Migration
{
public function up()
{
Schema::create('cg_newsletter', function($table)
{
$table->engine = 'InnoDB';
$table->increments('id');
$table->integer('user_id')->unsigned()->index();
$table->tinyInteger('isSubscribed');
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('CASCADE');
});
}
public function down()
{
Schema::dropIfExists('cg_signshop_menus');
}
}