我正在尝试将主题标签保存到数据库中。目前,它们使用image_id和以下格式保存在一行中:
Hashtags: #test bla #test #test
DB: test,test,test
我需要做些什么来保存单个数据库行中的每个主题标签,并保留correstpondig photo_id?
以下是我保存主题标签的方法:
$hashtag = new Hashtag;
$hashtag->photo_id = $photo->id;
$hashtag_string = Input::get('hashtags');
$str = $hashtag_string;
preg_match_all('/#([^\s]+)/', $str, $matches);
$hashtags_final = implode(',', $matches[1]);
$hashtag->hashtag = $hashtags_final;
$hashtag->save();
答案 0 :(得分:4)
根据您的需要,有几种解决方案:
<强>首先:强> 您可以循环使用主题标签并使用正确的image_id保存它们。像这样:
$hashtag_string = Input::get('hashtags');
preg_match_all('/#([^\s]+)/', $hashtag_string, $matches);
//looping through matched items in your $matches array
foreach($matches as $tag)
{
$hashtag = new Hashtag();
$hashtag->image_id = $photo->id;
$hashtag->hashtag = $tag;
$hashtag->save();
}
的官方文档中找到所有内容