1. The expected SQL statement to be generated is shown in Figure 1.

SELECT * FROM `channel-pub-api`.`cpa_channel_type` WHERE `code` LIKE 'vtt_%'
2. like: The first operand should be a field name or DB expression, and the second operand can be a string or an array, representing the value that the first operand needs to match in a fuzzy query. For example, [‘like’, ‘name’, ‘tester’] will generate name LIKE ‘%tester%’. If the range value is an array, multiple LIKE statements concatenated with AND will be generated. For example, [‘like’, ‘name’, [‘test’, ‘sample’]] will generate name LIKE ‘%test%’ AND name LIKE ‘%sample%’. You can also provide a third optional operand to specify how special characters in the value should be escaped. This operand is an array mapping from the special characters that need to be escaped to their escaped counterparts. If this operand is not provided, the default escape mapping will be used. If you need to disable the escaping feature, simply set the parameter to false or pass an empty array. Note that when using an escape mapping (or when the third operand is not provided), percent signs will be added before and after the value of the second operand. The code is as follows:
ChannelType::find()
->select(ChannelType::tableName() . '.code')
->where(['like', 'code', 'vtt_%', false])
->asArray()
->column();
3. The final generated SQL statement meets expectations, as shown in Figure 2.

SELECT `cpa_channel_type`.`code` FROM `cpa_channel_type` WHERE `code` LIKE 'vtt_%'
