yodawy / laradoo
Laravel 的 Odoo ERP API
Requires
- php: ^5.6||^7.0||^8.0
- illuminate/support: ^5.1||^6.0||^7.0||^8.0||^9.0||^10.0
Requires (Dev)
- phpunit/phpunit: ~4.8||^8.0||^9.0||^10.0
This package is auto-updated.
Last update: 2024-09-03 15:08:55 UTC
README
Laravel 的 Odoo ERP API。 Odoo 网站
兼容性
安装
在控制台中输入
composer require edujugon/laradoo
通过将其添加到 providers 数组中注册 Laradoo 服务。
'providers' => array( ... Edujugon\Laradoo\Providers\OdooServiceProvider::class )
添加别名门面,并将其添加到别名数组中。
'aliases' => array( ... 'Odoo' => Edujugon\Laradoo\Facades\Odoo::class, )
将包的配置文件发布到应用程序的配置目录
php artisan vendor:publish --provider="Edujugon\Laradoo\Providers\OdooServiceProvider" --tag="config"
配置
发布包配置文件后,laradoo 包的基本配置位于 config/laradoo.php
此外,您可以通过调用可用的 setter 方法动态更新这些值
host($url)
,username($username)
,password($password)
,db($name)
,apiSuffix($name)
用法示例
实例化主 Odoo 类
$odoo = new \Edujugon\Laradoo\Odoo();
只需调用 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
,除非发生错误。
对于希望设置自定义 API 调用的人来说,也提供了 call
方法
$odoo->call('res.partner', 'search',[ [ ['is_company', '=', true], ['customer', '=', true] ] ],[ 'offset'=>1, 'limit'=>5 ]);