Я работаю с Yii и jQuery Mobile. В настоящее время у меня есть 3 таблицы: пользователи, проекты и ShareProjects. Мне удалось создать функцию для отображения общих проектов с этим пользователем, но я пытаюсь назначить пользователей для проектов. Я пробовал этот код, но пока безуспешно.
public function actionShareProjects() {
$model=new SharedProjects;
if(isset($_POST['SharedProjects'])) {
$model->attributes=$_POST['SharedProjects'];
$model->project_id = "project_id";
$model->user_id = "user_id";
$model->sharedProject_id = "";
$model->sharedCreateDate= date('Y-m-d G:i:s');
if($model->save()) {
echo json_encode(array('action'=>'success', 'message'=>''));
} else {
echo json_encode(array('action'=>'error', 'message'=>'Incorrect'));
}
}
}
В проекте есть кнопка «Поделиться», которая принимает идентификатор проекта, но я пытаюсь позволить пользователю ввести электронное письмо для пользователя, с которым вы хотели бы поделиться.
Я попытался ввести его вручную на почтальоне, но это не удалось, ошибок не возникло, но данные не были сохранены. Я использовал правильный ввод:
SharedProjects [user_id]
SharedProjects [project_id]
SharedProjects [sharedProject_id]
SharedProjects [sharedCreateDate]
измени свой код на это
public function actionShareProjects() {
$model=new SharedProjects;
if (isset($_POST['SharedProjects'])) {
$model->attributes=$_POST['SharedProjects'];
$model->sharedCreateDate= date('Y-m-d H:i:s');
if($model->save()) {
$this->sendResponse(array('action'=>'success', 'message'=>''));
} else {
$this->sendResponse(array('action'=>'error', 'message'=>'Incorrect'));
}
}
}
и убедитесь, project_id
,user_id
установлены и имеют int
тип. Поиграть с отправкой JSON
Ответ лучше будет добавить эту функцию
public function sendResponse($data)
{
header('Content-Type: application/json; charset=utf-8');
echo CJSON::encode($data);
exit;
}
в вашем контроллере и вызывая его для отправки ответа.
Если ошибка не появляется, тогда ваши данные подходят для проверки правил вашей модели, но, возможно, это создает ошибку при сохранении в базе данных,
Применяли ли вы какие-либо ограничения (например, уникальные, а не нулевые) к столбцу таблицы. Они также запрещают сохранять неверные данные в таблице.