yodawy/laradoo

Laravel 的 Odoo ERP API

v1.0.0 2023-12-03 13:24 UTC

This package is auto-updated.

Last update: 2024-09-03 15:08:55 UTC


README

Laravel 的 Odoo ERP API。 Odoo 网站

Build Status Total Downloads Latest Stable Version License

兼容性

安装

在控制台中输入

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']);

请注意,所有 deleteupdate 方法都始终返回 true,除非发生错误。

对于希望设置自定义 API 调用的人来说,也提供了 call 方法

$odoo->call('res.partner', 'search',[
        [
            ['is_company', '=', true],
            ['customer', '=', true]
        ]
    ],[
        'offset'=>1,
        'limit'=>5
    ]);

完整 API 列表