我正试图像这样以编程方式创建一个节点,
$newNode = (object) NULL;
$newNode->type = 'job';
$newNode->title = $data['JobTitle'];
$newNode->uid = $user->uid;
$newNode->created = strtotime("now");
$newNode->changed = strtotime("now");
$newNode->status = 1;
$newNode->comment = 0;
$newNode->promote = 0;
$newNode->moderate = 0;
$newNode->sticky = 0;
$newNode->tid = 0;
$newNode->summary['und'][0]['value'] = $data['JobSummary'];
$newNode->body['und'][0]['value'] = $data['JobDescription'];
$newNode->field_employment_type['und'] = strtolower($data['JobType']);
$newNode->field_job_reference['und'][0]['value'] = $data['JobReference'];
$newNode->field_salary['und'][0]['value'] = "";
$newNode->field_salary_from['und'][0]['value'] = $data['SalaryFrom'];
$newNode->field_salary_to['und'][0]['value'] = $data['SalaryTo'];
$newNode->field_salary_override['und'][0]['value'] = $data['Salary'];
$newNode->field_application_email['und'][0]['value'] = $data['ApplicationEmail'];
$newNode->field_job_category['und'][2] = 2;
$newNode->field_job_category['und'][4] = 4;
//die(print_r($newNode));
// save node
node_save($newNode);在这里,我可能有4个分类(他们的id显示在括号内)创意(2),技术(3),营销(4),客户服务(6)。
在node_save上,我得到以下错误:
500内部服务器错误:发生错误(23000):SQLSTATE:完整性约束违反: 1048列'tid‘不能为空
如何克服这个问题--我认为将field_job_category设置为分类法的id就足够了?
发布于 2018-09-21 15:05:30
如果有一个按节点划分的tid,请使用:
$tid = 0;
$newNode->taxonomy[0]->tid = $tid;如果节点可以有多个术语使用:
$tids = [0, 3, 4, 5];
$i = 0;
foreach ($tids as $tid) {
$newNode->taxonomy[$i]->tid = $tid;
$i++;
}https://drupal.stackexchange.com/questions/269734
复制相似问题