Yii — сохранение данных между 3 таблицами

Я работаю с 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]

0

Решение

измени свой код на это

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;
}

в вашем контроллере и вызывая его для отправки ответа.

0

Другие решения

Если ошибка не появляется, тогда ваши данные подходят для проверки правил вашей модели, но, возможно, это создает ошибку при сохранении в базе данных,

Применяли ли вы какие-либо ограничения (например, уникальные, а не нулевые) к столбцу таблицы. Они также запрещают сохранять неверные данные в таблице.

-1

По вопросам рекламы [email protected]