首页 > 解决方案 > 使用 mysql 从 Wordpress 网站在 Laravel 应用程序中插入数据

问题描述

我正在 Laravel 开发一个应用程序,但问题是:我的客户已经有一个 wordpress 网站,并希望在这个网站上进行的所有注册都自动转到我的应用程序。我也在使用 mysql 和 wp 网站。谁能在这里给我点灯?感谢和抱歉我的英语不好。

标签: mysqlwordpresslaravel

解决方案


我将尝试给出一个基本的工作流程概念。

你想要那个,用户将在 wp 网站上注册,然后他也会在 laravel 应用程序中添加/注册吗?如果是这样,那么,

在 laravel 应用程序中使用 'store' 方法创建一个用户表、用户模型和用户控制器。这个“商店”方法将创建用户。该表的列名会更好地匹配 wp 站点的 wp_users 表列名。

现在在 laravel 应用程序中创建一个将用户数据作为发布参数的 api 路由。此用户数据将在注册后来自 wp 网站。api路线可能是这样的

Route::post('store', 'userController@store')->name('users.store');

现在在 wp site 中,将此代码放在 'user_register' 挂钩中。此代码调用存储 laravel 应用程序的 api 并将该注册用户的用户数据作为用户数据传递。

add_action( 'user_register', 'my_registration_save', 10, 1 );

function my_registration_save( $user_id ) {

    $user = get_userdata($user_id);

    //api call
    wp_remote_post( the_api_url, array(
    'user_email' => $user->user_email,
    'user_login' => $user->user_login
    ...
    ...
) )
}

现在 wp 站点正在通过 api 发送数据,您的 userController 的 store 方法可以访问该数据。使用该数据将其存储在 laravel 的数据库中,userController 的存储方法将是这样的

function store( Request $request) {
  $user = new App\User();
  $user->user_email = $request->user_email,
  $user->user_login = $request->user_login
  ...
  ...
  $user->save()
}

就是这样。


推荐阅读