mysql - 使用 mysql 从 Wordpress 网站在 Laravel 应用程序中插入数据
问题描述
我正在 Laravel 开发一个应用程序,但问题是:我的客户已经有一个 wordpress 网站,并希望在这个网站上进行的所有注册都自动转到我的应用程序。我也在使用 mysql 和 wp 网站。谁能在这里给我点灯?感谢和抱歉我的英语不好。
解决方案
我将尝试给出一个基本的工作流程概念。
你想要那个,用户将在 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()
}
就是这样。
推荐阅读
- android - 更改按钮背景会删除按钮动画
- java - 我的数据流模板在 BigQuery 之前没有开始步骤
- asp.net - How to get ID from previous route / razor page in current razor page
- javascript - Why !document.querySelectorAll not working for multiple id
- c# - How to setup Swagger.net development environment
- java - How to write the "resize" function for a self-defined ArrayList class?
- javascript - React 中的大数
- xml - 需要使用 XSLT 1.0 将 XML 节点的文本分解为子节点
- node.js - Create-react-app 返回“找不到模块 'rxjs'”
- amazon-s3 - Localstack 服务“s3”尚不可用,正在重试