将Laravel模型绑定到多个表

时间:2015-01-19 07:42:01

标签: php laravel eloquent

class CreateUsersTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function(Blueprint $table)
        {
            $table->increments('id');
            $table->string('email');
            $table->string('password');
            $table->timestamps();
        });
    }    

class CreateUsersExtendedTable extends Migration {

        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::connection('mysql2')->create('users_extended', function(Blueprint $table ){
                $table->integer('user_id')->unsigned();
                $table->string('phone');
                $table->foreign('user_id')->references('id')->on('tweets.users')->onDelete('cascade');
            });
        }

以上是我在不同数据库中创建users_extended表的方法。我想要的是将我的用户模型绑定到两个不同数据库中的两个表(tweets.users& tweets2.users_extented)。

我想要它,因为我什么时候打电话给User::save()它应该在相关的表上输入记录。

目前我必须执行此代码以保存具有电话等扩展信息的用户

public function store()
{
    $validation = Validator::make(Input::all(), User::$registerationRules);

    if($validation->fails())
    {
        return Redirect::back()->withInput()->withErrors($validation);
    }

    $user = new User();
    $user->email = Input::get('email');
    $user->password = Hash::make( Input::get('password') );
    $user->save();

    $userExtended = new UserExtended();
    $userExtended->phone = Input::get('phone');
    $userExtended->user()->associate($user);
    $userExtended->save();          

}

请注意,我正在寻找一个单一模型而不是关系的解决方案。

我是MVC的新手,因为我读过关于它的博客,我找不到实现这个目标的方法。可能有人知道是否有可能。

由于

0 个答案:

没有答案