CodeIgniter 4-为主表和详细信息表创建模型

sbtkgmzw  于 2023-03-16  发布在  其他
关注(0)|答案(1)|浏览(118)

我正在使用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中使用相同的型号。
我正试图弄清楚在这种特殊情况下应该遵循什么。

bnlyeluc

bnlyeluc1#

你可以创建一个可以访问所有数据库表的模型($this->db->table('ORDER DETAILS')->...),但是我建议你为每个表创建一个新的模型,这样你就可以使用CI 4的特殊功能,比如allowed-fields,callback和use-timestamp。

相关问题