承接 swap/bmodel 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

swap/bmodel

Composer 安装命令:

composer require swap/bmodel

包简介

Binah Model

README 文档

README

Binah Model

Instalação

php composer require jonassilva/bmodel

Configuração inicial - (Conexão com banco)

<?php // Arquivo config.php

use Bmodel\Connection;

// Definir conexao com banco de dados
Connection::setConnection(
  'banco',   // Database
  null,           // Conexao ID
  'localhost',    // Hostname
  NULL,           // Port
  'usuario', // Username
  'senhaMuitoDificil'      // password
);

Connection::setModelPath('Model'); // pasta

Exemplos de uso

Trazer um registro(como objeto)

<?php

use Bmodel\Query;

$objCliente = Query::getTable('cliente')->find($id);

if (!$objCliente) {
  throw new \Exception("Cliente não encontrado!", 404);
}
// Usar dados
echo $objCliente->id;
echo $objCliente->nome;
// $objCliente->toArray(); // como array associativo
// $objCliente->toArrayNum(); // como array (somente os valores)
// $objCliente->toJSON(); // como JSON

// Alterar:
$objCliente->nome = 'Joaquim';
$objCliente->save();

// Buscar por campo

// ... WHERE active = 1 AND email = 'joaquim@exemplo.com' LIMIT 1
$objCliente = Query::getTable('cliente')->findBy([
  'active' => '1',
  'email' => 'joaquim@exemplo.com'
]);

// Outras opcoes
// ... WHERE active = 1
// AND at_created > '2020-01-01 00:00:00'
// ORDER BY id DESC LIMIT 1
$objCliente = Query::getTable('cliente')
  ->where("active = 1")
  ->andWhere("at_created > '2020-01-01 00:00:00'")
  ->orderBy('id DESC')
  ->find();

Trazer uma lista de resultados

<?php

use Bmodel\Query;

$objCliente = Query::getTable('cliente')
  ->select(['id', 'at_created', 'nome', 'email'])
  ->where("active = 1")
  ->andWhere("at_created > '2020-01-01 00:00:00'")
  ->orderBy('id DESC')
  ->get();

// Usando JOINs (INNER, LEFT, RIGHT)

$objCliente = Query::getTable('cliente c')
  ->select(['c.id', 'c.at_created', 'c.nome', 'c.email'])
  ->innerJoin(
    'pedido p', // Table
    'c.id = p.cliente_id', // ON
    'Pedido')
  ->leftJoin(
    'pagamento_pedido pp',
    'p.id = pp.pedido_id',
    'Pedido.Pagamentos')
  ->innerJoin(
    'itens_pedido item',
    'p.id = item.pedido_id',
    'Pedido.Itens')
  ->where("c.active = 1")
  ->andWhere("c.at_created > '2020-01-01 00:00:00'")
  ->limit(10) // Podendo ser: ->page($page, $resultPerPage)
  ->orderBy('c.id DESC')
  ->get();

echo $objCliente->toJSON();
/*
// Output:
[
  {
    "id": 1,
    "at_created": "2020-01-30 12:53:54",
    "nome": "Joaquim",
    "email": "joaquim@exemplo.com",
    "Pedido": [{
      "id": 12,
      "at_created": "2020-01-30 12:53:54",
      "status": 1,
      ...
      Pagamentos: [],
      Itens: [
        {
          "id": 123,
          "descricao": "Laptop Evotion Master Da Galáxia",
          "valor_un": 9876.12
          ...
        }
      ]
    }]
  }
]
*/

Insert/Update/Delete

<?php

use Bmodel\Query;

// Exemplo de INSERT #1
$objCliente = Query::getTable('cliente')->create();
$objCliente->nome = "Maria";
$objCliente->email = "maria@exemplo.com";
$objCliente->save();

echo $objCliente->id; // Novo id

// Exemplo de INSERT #2
$objCliente = Query::getTable('cliente')->insert([
  'nome' => "Maria",
  'email' => "maria@exemplo.com"
]);

echo $objCliente->id; // Novo id

// Exemplo de UPDATE #1
$objCliente = Query::getTable('cliente')->find(1);
$objCliente->nome = "José";
$objCliente->email = "jose@exemplo.com";
$objCliente->save();

// Exemplo de UPDATE #2
$objCliente = Query::getTable('cliente')->update([
  'nome' => "José",
  'email' => "jose@exemplo.com"
]);

// Exemplo de DELETE #1
Query::getTable('cliente')->find(1)->delete();

// Exemplo de DELETE #2
Query::getTable('cliente')->findDelete(1);

// Exemplo de DELETE #3
Query::getTable('cliente')->where('active = 0')->delete();

swap/bmodel 适用场景与选型建议

swap/bmodel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 03 月 21 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 swap/bmodel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 swap/bmodel 我们能提供哪些服务?
定制开发 / 二次开发

基于 swap/bmodel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 8
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 18
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-21