Cakephp と mysql を使用してストアド プロシージャに文字列を渡す必要があります。
これがストアドプロシージャに渡す文字列です。
PlantingBlock.id IN (13,10)
以下は私のストアドプロシージャです。
SET whereClause = " AND 1 = 1 ";
IF(in_clause IS NULL OR in_clause = '') THEN
SET whereClause = CONCAT(whereClause, ' AND ',in_clause);
END IF;
SET statement = 'SELECT PlantingBlock.* FROM (
SELECT PB.*,
B.block,
V.variety,
ST.size_type,
PLA.date AS plant_date,
PLA.week_no,
C.crop,
C.id AS crop_id
FROM lf_planting_blocks AS PB,
lf_blocks AS B,
lf_properties AS P,
lf_property_types AS PT,
lf_size_types AS ST,
lf_varieties AS V,
lf_plantings AS PLA,
lf_crops AS C
WHERE
PB.block_id = B.id
AND B.property_id = P.id
AND P.property_type_id = PT.id
AND B.size_type_id = ST.id
AND PB.variety_id = V.id
AND V.crop_id = C.id
AND PB.planting_id = PLA.id
AND PB.plant_still_active = true
AND B.is_deleted = false
AND P.is_deleted = false
AND PT.is_deleted = false
AND ST.is_deleted = false
AND V.is_deleted = false
AND C.is_deleted = false';
SET statement = CONCAT(statement, whereClause, ') AS PlantingBlock ORDER BY PlantingBlock.plant_date DESC');
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'PlantingBlock.id' in 'field list' というエラーが表示されます