aungmyokyaw / radoo
Laravel的Odoo ERP API
Requires
- php: ^5.6||^7.0||^8.0
- illuminate/support: ^7.0||^8.0||^9.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
Odoo ERP API for Laravel。 Odoo网站
包的原始信用
Edujugon Laradoo
额外添加的功能
- 支持PHP 8版本
安装
在控制台中输入
composer require aungmyokyaw/radoo
将包的配置文件发布到应用程序自己的配置目录
php artisan vendor:publish --tag="radoo-config"
配置
发布包配置文件后,laradoo包的基本配置位于config/laradoo.php
此外,您还可以通过调用可用的setter方法动态更新这些值
host($url), username($username), password($password), db($name), apiSuffix($name)
用法示例
实例化主要的Odoo类
$odoo = new \Amk\Radoo\Radoo();
您可以调用version方法来获取Odoo API版本
$version = $odoo->version();
此方法不需要连接/登录到ERP。
连接并登录到ERP
$odoo = $odoo->connect();
所有必要的配置数据都是从laradoo.php配置文件中获取的。但如果需要,您也可以实时传递新值。
$this->odoo = $this->odoo ->username('my-user-name') ->password('my-password') ->db('my-db') ->host('https://my-host.com') ->connect();
注意:
host应包含'http://'或'https://'
登录后,您可以检查用户标识符,如下所示
$userId= $this->odoo->getUid();
您始终可以检查特定模型上的权限
$can = $odoo->can('read', 'res.partner');
可检查的权限:'read','write','create','unlink'
方法`search`基于您的条件提供一组id
$ids = $odoo->where('customer', '=', true) ->search('res.partner');
您可以使用limit方法限制数据量,并使用尽可能多的条件
$ids = $odoo->where('is_company', true) ->where('customer', '=', true) ->limit(3) ->search('res.partner');
如果要获取模型列表,请使用get方法
$models = $odoo->where('customer', true) ->limit(3) ->get('res.partner');
您可以在调用get方法之前添加fields方法来减少从模型检索的所有属性
$models = $odoo->where('customer', true) ->limit(3) ->fields('name') ->get('res.partner');
如果您不确定模型有哪些字段,可以通过调用fieldsOf方法检索模型结构数据
$structure = $odoo->fieldsOf('res.partner');
到目前为止,我们只从ERP检索了数据,但您也可以创建和删除记录。
要创建新记录,只需调用以下create方法
$id = $odoo->create('res.partner',['name' => 'Jonh Odoo']);
此方法返回新记录的id。
对于删除记录,我们有delete方法
$result = $odoo->where('name', 'Jonh Odoo') ->delete('res.partner');
注意,在调用
delete方法之前,您必须使用where。
您还可以按id删除记录,如下所示
$result = $odoo->deleteById('res.partner',$ids);
更新您的ERP中的任何记录
$updated = $odoo->where('name', 'John Odoo') ->update('res.partner',['name' => 'John Odoo Odoo','email' => 'Johndoe@odoo.com']);
请注意,所有delete和update方法总是返回true,除非发生错误。
call方法也适用于那些想要设置自定义API调用的人
$odoo->call('res.partner', 'search',[ [ ['is_company', '=', true], ['customer', '=', true] ] ],[ 'offset'=>1, 'limit'=>5 ]);