
SELECT * FROM `survey_forms` WHERE (`id`='1825203750690273') AND (`user_id`='1825203750689422') LIMIT 1
SELECT *, ST_X(checkin_location_coordinates) AS `checkin_location_longitude`, ST_Y(checkin_location_coordinates) AS `checkin_location_latitude` FROM `survey_forms` WHERE `id`='1825203750690273' LIMIT 1
$form = SurveyForm::find()
->select('*') // 查询所有字段
->addSelect([
'ST_X(checkin_location_coordinates) AS checkin_location_longitude',
'ST_Y(checkin_location_coordinates) AS checkin_location_latitude',
])
->where([
'id' => $id,
])->limit(1)->asArray()->one();
unset($form['checkin_location_coordinates']);
public $checkin_location_longitude;
public $checkin_location_latitude;
public function afterFind()
{
parent::afterFind();
// 设置经度和纬度
$this->checkin_location_longitude = Yii::$app->db->createCommand("SELECT ST_X(checkin_location_coordinates) FROM {$this->tableName()} WHERE id = :id", [':id' => $this->id])->queryScalar();
$this->checkin_location_latitude = Yii::$app->db->createCommand("SELECT ST_Y(checkin_location_coordinates) FROM {$this->tableName()} WHERE id = :id", [':id' => $this->id])->queryScalar();
// 排除原始字段
unset($this->checkin_location_coordinates);
}
public function fields()
{
$fields = parent::fields();
Yii::debug('Fields before modification: ' . print_r($fields, true));
// 添加自定义字段
$fields['checkin_location_longitude'] = 'checkin_location_longitude';
$fields['checkin_location_latitude'] = 'checkin_location_latitude';
// 排除原始字段
unset($fields['checkin_location_coordinates']);
Yii::debug('Fields after modification: ' . print_r($fields, true));
return $fields;
}
$form = SurveyForm::find()->where([
'id' => $id,
])->with(['fields', 'fields.diagram_image', 'fields.options', 'cover_image', 'submit_success_image'])->limit(1)->asArray()->one();
unset($form['checkin_location_coordinates']);
PHP / Laravel / Yii2 老项目维护与长期技术支持
如果你的 PHP / Laravel / Yii2 项目已经上线,但遇到原开发离职、Bug 长期无人修复、接口不稳定、性能下降、代码难以接手等问题,可以联系我做一次远程技术排查。
适合以下情况:
✅ 老旧 PHP 系统无人维护
✅ Laravel / Yii2 项目 Bug 修复
✅ 后台管理系统小功能迭代
✅ RESTful API 接口排查
✅ MySQL / Redis / Nginx 性能问题
✅ 长期远程兼职维护
可先从一次小问题开始:
✅ 线上报错排查
✅ 接口异常分析
✅ 慢查询与性能瓶颈定位
✅ 代码结构初步评估
✅ 部署环境与日志检查
如需咨询,请联系我,并注明:PHP 维护咨询。
联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

发表回复