文件操作 - OrderItemMetaModel.php
返回文件管理
返回主菜单
删除本文件
文件: /home/www/public/wp-content/plugins/tutor/models/OrderItemMetaModel.php
编辑文件内容
<?php /** * Order Item Meta Model * Handles CRUD operations for order item meta data. * * @package Tutor\Models * @author Themeum <support@themeum.com> * @link https://themeum.com * @since 3.8.0 */ namespace Tutor\Models; use Tutor\Helpers\QueryHelper; if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class OrderItemModel */ class OrderItemMetaModel { /** * Table name. * * @var string */ private $table; /** * Constructor. */ public function __construct() { global $wpdb; $this->table = $wpdb->prefix . 'tutor_order_itemmeta'; } /** * Add meta for an order item. * * @since 3.8.0 * * @param int $item_id Item ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * * @return int Inserted row ID on success, 0 on failure. */ public function add_meta( $item_id, $meta_key, $meta_value ):int { $meta_id = QueryHelper::insert( $this->table, array( 'item_id' => $item_id, 'meta_key' => $meta_key, 'meta_value' => maybe_serialize( $meta_value ), ), ); return (int) $meta_id; } /** * Get meta by item_id and optional meta_key. * * @since 3.8.0 * * @param int $item_id Item ID. * @param string|null $meta_key Meta key (optional). * @param bool $single Get a single value or all. * * @return array|false Meta results or false if none. */ public function get_meta( int $item_id, $meta_key = null, $single = true ) { $where = array( 'item_id' => $item_id, ); if ( $meta_key ) { $where['meta_key'] = sanitize_key( $meta_key ); } if ( $single ) { $meta = QueryHelper::get_row( $this->table, $where, 'item_id' ); if ( $meta ) { $meta->meta_value = maybe_unserialize( $meta->meta_value ); } } else { $meta = QueryHelper::get_all( $this->table, $where, 'item_id' ); if ( tutor_utils()->count( $meta ) ) { foreach ( $meta as $row ) { $row->meta_value = maybe_unserialize( $row->meta_value ); } } } return $meta; } /** * Update meta for an order item. * * @since 3.8.0 * * @param int $item_id Item ID. * @param string $meta_key Meta key. * @param mixed $meta_value Meta value. * * @return bool True on success, false on failure. */ public function update_meta( int $item_id, string $meta_key, $meta_value ): bool { $is_meta_exists = $this->get_meta( $item_id, $meta_key ); if ( ! $is_meta_exists ) { return $this->add_meta( $item_id, $meta_key, $meta_value ); } return QueryHelper::update( $this->table, array( 'meta_value' => maybe_serialize( $meta_value ), ), array( 'item_id' => $item_id, 'meta_key' => $meta_key, ), ); } /** * Delete meta by item_id and optional meta_key. * * @since 3.8.0 * * @param int $item_id Item ID. * @param string|null $meta_key Meta key (optional). * * @return bool True on success, false on failure. */ public function delete_meta( $item_id, $meta_key = null ): bool { $where = array( 'item_id' => $item_id, ); if ( $meta_key ) { $where['meta_key'] = $meta_key; } return QueryHelper::delete( $this->table, $where ); } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件