我正在编写一个从我们的供应商处导入产品的脚本,除了产品图片外,几乎所有内容都正确导入。
据我所知,产品图片在files
和content_field_image_cache
表格中有所描述。 files
表似乎没有任何问题,所以这是我插入content_field_image_cache
的代码。
$fileData->vid = $vid;
$fileData->nid = $nid;
$fileData->delta = 0;
$fileData->field_image_cache_fid = $fid;
$fileData->field_image_cache_list = 1;
drupal_write_record('content_field_image_cache', $fileData);
当我导入产品时,图像文件显示在正确的目录中,并且使用正确的路径和自动递增的files
将一行插入fid
。还会使用正确的content_field_image_cache
,vid
和nid
将一行插入delta
,但每隔一个字段设置为 NULL 。即使我设置了$fileData->field_image_cache_fid = 1
或其他随机整数,它仍会出现 NULL 。
如何插入此数据?或者,如果您知道此任务的API中更简单的方法,请发布它。
编辑: db_query("INSERT INTO {content_field_image_cache} VALUES (%d, %d, 0, %d, 1, NULL)", $vid, $nid, $fid);
甚至无效!什么球?!
答案 0 :(得分:0)
经过多次提示和尝试失败之后,我发现在我有机会触摸它之前,该条目已添加到content_field_image_cache
表中。我不知道是什么插入它;我的代码中没有任何内容。无论如何,我发现使用UPDATE
解决了我的问题。