ThinkPHP的关联Model要注意的几点
<?php class RoomSupplierListModel extends RelationModel { protected $tableName = "room_supplier"; public $_link; public function __construct($name = "") { $this->_link = array( "HotelRoomSell" => array( "mapping_type" => HAS_MANY, "parent_key" => "rs_id",//parent_key一定是主键,否则会列不出子表的数据 "foreign_key" => "hrs_rsid", "condition" => " hrs_checkin_date >= "" . $_POST["stime"] . "" and hrs_checkin_date <= "" . $_POST["etime"] . "" " ), "Suppliers" => array( "mapping_type" => BELONGS_TO, "parent_key" => "s_id", "foreign_key" => "rs_sid", "as_fields" => "s_name" ), "Hotel" => array( "mapping_type" => BELONGS_TO, "parent_key" => "h_id", "foreign_key" => "rs_hid", "as_fields" => "h_name" ), "HotelRoom" => array( "mapping_type" => BELONGS_TO, "parent_key" => "hrm_id", "foreign_key" => "rs_rid", "as_fields" => "hrm_title,hrm_issell,hrm_id" ), ); parent::__construct($name); } }
HAS_MANY的情况下
//parent_key一定是主键,否则会列不出子表的数据
多个HAS_MANY不能指定as_fields很奇怪
<?php class OrderListModel extends RelationModel { protected $tableName = "hotel_room_order"; protected $_link = array( "HotelRoomOrderItem" => array( "mapping_type" => HAS_MANY, "parent_key" => "hro_id", "foreign_key" => "hroi_hroid", "mapping_fields" => "hroi_nums,hroi_checkin_date,hroi_checkout_date,hroi_price,hroi_is_checkin" ), "HotelRoomOrderTicket" => array( "mapping_type" => HAS_MANY, "parent_key" => "hro_id", //当前表的ID 很坑;不看源码不可能知道的事 "foreign_key" => "hrot_hroid", //外表的ID // "mapping_fields" => "hrot_use_date,hrot_nums,hrot_price,hroi_is_checkin" //多个HAS_MANY的时候;只能同时存在一个 mapping_fields;否则无法查出数据; ), "Hotel" => array( "mapping_type" => BELONGS_TO, "parent_key" => "h_id", "foreign_key" => "hro_hid", "as_fields" => "h_name" ), "HotelRoom" => array( "mapping_type" => BELONGS_TO, "parent_key" => "hrm_id", "foreign_key" => "hro_rid", "as_fields" => "hrm_title" ), "AgentUser" => array( "mapping_type" => BELONGS_TO, "parent_key" => "id", //外表的ID BELONGS_TO才有parent_key属性; "foreign_key" => "hro_auid", //当前表的ID "as_fields" => "account,nickname" ), "HotelRoomOrderMember" => array( "mapping_type" => HAS_ONE, // "parent_key" => "hro_id", //HAS_ONE,默认使用主键进行关联,没有这个属性,设置了和没设一个鸟样 "foreign_key" => "hrom_hroid", "as_fields" => "hrom_name,hrom_tel" ), ); }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: 固定数据的位数,不够在前面补0
- 下一篇:没有了