maika-kanaka / ci3-eloquent
让生活更简单的简单eloquent
1.1.2
2020-07-02 01:15 UTC
Requires
- php: >=5.6.0
This package is auto-updated.
Last update: 2024-09-29 06:02:41 UTC
README
为codeigniter3添加查询构建器++,让生活更简单。
如何使用
- 步骤 1:在您的codeigniter项目中运行此命令
composer require maika-kanaka/ci3-eloquent
- 步骤 2:扩展您的模型并在属性中定义您的表名
<?php defined('BASEPATH') OR exit('No direct script access allowed');
use Eloquent\Eloquent;
class My_model_name extends Eloquent
{
public $table = 'my_table_name';
public function __construct()
{
parent::__construct();
}
}
方法
table(alias)
示例 1:获取数据的简单查询
$data = $this->My_model_name->table()->get()->result();
示例 2:包含连接语句的简单查询
$data = $this->My_model_name->table('t1')
->join('my_other_table_name AS t2', 't1.id_fk = t2.id_fk')
->get()->result();
find(where)
~ 示例 1:获取主键的第一行
$data = $this->My_model_name->find('INV-202010-0001');
~ 示例 1:获取其他列的第一行
$data = $this->My_model_name->find(['status => 'active', 'is_stok' => 'Y']);
find_or_404(where)
此方法与find()方法相同,但如果返回值为null,则将显示404页面
insert(data)
~ 示例 1:插入一行
$this->My_model_name->insert([
'field_name_1' => 'test1',
'field_name_2' => 'Testing1'
]);
~ 示例 2:批量插入多行
$insert = [];
$insert[] = ['field_name_1' => 'test1', 'field_name_2' => 'Testing1'];
$insert[] = ['field_name_1' => 'test2', 'field_name_2' => 'Testing2'];
$this->My_model_name->insert($insert);
update(where, set)
$this->My_model_name->update(['my_primary_key' => '1'], ['my_field_name' => 'new value']);
updateIncrement(where, field_name)
$this->My_model_name->updateIncrement(
['kode_produk' => 'INV-202004-0001'],
'jumlah_stok'
);
如果字段的数量_stok的值为10,则新值为11
updateDecrement(where, field_name)
$this->My_model_name->updateDecrement(
['kode_produk' => 'INV-202004-0001'],
'jumlah_stok'
);
如果字段的数量_stok的值为10,则新值为9
delete(where)
~ 示例 1:主键上的where子句
$this->My_model_name->delete('INV-202004-0001');
~ 示例 2:自定义字段上的where子句
$this->My_model_name->delete(['my_primary_key' => 'value']);
primaryKeyInc()
如果您使用此方法,则必须在模型属性上定义主键字段
<?php defined('BASEPATH') OR exit('No direct script access allowed');
use Eloquent\Eloquent;
class My_model_name extends Eloquent
{
public $table = 'my_table_name';
public $primary_key = 'my_field_name_id';
public function __construct()
{
parent::__construct();
}
}
然后,您可以使用此方法并获取增量
$increment = $this->My_model_name->primaryKeyInc();
primaryKey([opts])
首先,与primaryKeyInc()方法相同,您必须在模型属性上定义主键字段
~ 示例 1:生成代码并每月重置增量
$pk = $this->My_model_name->primaryKey([
"format" => "INV",
"separator" => "-",
"digit_inc" => 5
]);
# return value is: INV-202010-00001
~ 示例 2:生成代码但不重置增量
$pk = $this->My_model_name->primaryKey([
"format" => "KTG",
"separator" => "",
"digit_inc" => 6,
"reset_monthly" => FALSE
]);
# return value is: KTG000001
授权协议
使用受MIT授权协议许可。有关详细信息,请参阅授权协议。