我正在使用CodeIgniter v4.3.2并尝试学习CRUD和MVC。我有两个表。一个是主表,存储有关ORDER
的细节,另一个表称为ORDER DETAILS
,存储有关订单(如产品)的细节。
我已经为主表创建了如下模型(/app/Models/OrderModel.php
):
<?php
namespace App\Models;
use CodeIgniter\Model;
class OrderModel extends Model{
protected $table = 'orders';
protected $allowedFields = [
'order_id',
'order_date',
'total_amount',
'customer_id',
'created_at'
];
}
那么对于订单详细信息,我是否应该将order_details
创建为单独的型号(OrderDetailsModel
)?或者是否可以在OrderModel
中使用相同的型号。
我正试图弄清楚在这种特殊情况下应该遵循什么。
1条答案
按热度按时间bnlyeluc1#
你可以创建一个可以访问所有数据库表的模型(
$this->db->table('ORDER DETAILS')->...
),但是我建议你为每个表创建一个新的模型,这样你就可以使用CI 4的特殊功能,比如allowed-fields,callback和use-timestamp。