我很难在我的Laravel APP中尝试将MySQL数据库转换为RESTful API。 我在github中找到了这个package。
并遵循每条指令,这是我的设置
$args = array(
'name' => 'cacti',
'username' => 'username',
'password' => '****',
'server' => 'localhost',
'port' => 3306,
'type' => 'mysql',
'table_blacklist' => array(),
'column_blacklist' => array()
);
register_db_api( 'dataset-name', $args );
这是我在 register_db()
中的内容function register_db( $name = 'cacti', $args = array() ) {
$defaults = array(
'name' => 'cacti',
'username' => 'username',
'password' => '****',
'server' => 'localhost',
'port' => 3306,
'type' => 'mysql',
'table_blacklist' => array(),
'column_blacklist' => array(),
'ttl' => $this->ttl
);
$args = shortcode_atts( $defaults, $args );
$name = $this->slugify( $name );
$this->dbs[$name] = (object) $args;
}
我一直在
必须选择数据库
我检查了我的数据库设置,我使用了相同的MySQL Workbench设置,我可以登录并查看我的数据库。
我错过了什么吗?
如果有人在遇到同样的问题,请告诉我你是如何解决它的。
另外,我对任何可以帮助我将数据库转换为RESTful API的新建议持开放态度。
如何实现这样的目标?
任何提示/帮助都将非常感谢!
答案 0 :(得分:1)
使用您的示例时:
$args = array(
'name' => 'cacti',
'username' => 'username',
'password' => '****',
'server' => 'localhost',
'port' => 3306,
'type' => 'mysql',
'table_blacklist' => array(),
'column_blacklist' => array()
);
register_db_api( 'dataset-name', $args );
您必须使用网址:
/dataset-name/table-name
dataset-name
不必像其他人所说的那样匹配实际的数据库名称。这个名称实际上是数据集名称,可以是您想要的任何名称。
旁注;请不要使用此软件包,因为它在代码中都很糟糕,似乎没有自动化测试。
答案 1 :(得分:0)
我终于在Laravel内自己做了。
Route::get('api/psql/{table_name}', 'ApiController@psql');
public function psql($table_name){
$object = DB::table($table_name)->get();
return $object;
}
http://localhost:8888/api/psql/users
结果
[
{
"id": 2005,
"account_id": "2005",
"email": "test@b",
"fb_email": "",
"tw_email": "",
"created_at": "2016-08-09 11:19:30",
"updated_at": "2016-08-09 11:19:30",
"fb_access_token": "",
"fb_profile_id": "",
"fb_page_id": "",
"fb_username": "",
"auto_provisioning": null,
"service_plan": null
},
{
"id": 2004,
"account_id": "2004",
"email": "test@outlook.com2",
"fb_email": "",
"tw_email": "",
"created_at": "2016-08-08 11:39:50",
"updated_at": "2016-08-09 14:02:55",
"fb_access_token": "",
"fb_profile_id": "",
"fb_page_id": "",
"fb_username": "",
"auto_provisioning": "1",
"service_plan": "Blast"
}
]