2016-12-14 1 views
0

Я пытаюсь сохранить hashtags с изображением на моем сервере.Как сохранить hashtags Swift

Я сохраняю все правильно, изображение и подпись для изображения.

Теперь я пытаюсь сохранить хешстаг, который находится в заголовке, у меня есть хотя бы один подход, но я не уверен.

Так что я должен искать текст подписи для префикса «#» при загрузке изображения и сохранять каждый хэштег в отдельности и создавать новую строку для каждого другого хэштега в моей таблице «Hashtag»?

Это, кажется, самый простой способ, я думаю, но если бы было, например, 20 хэштегов, которые бы не делали 20 запросов? Теперь я не делаю 20+ запросов, чтобы загрузить 1 изображение было бы очень хорошей идеей ...

Теперь я использую MYSQL и PHP для своего сервера, и я думал, что могу выполнить поиск в своем PHP файл, но это будет тот же результат, что и предыдущая идея ...

Итак, теперь я думаю, что если это будет возможно: просто сохраните все нормально, но когда я нажимаю на хэштег в своем приложении, я затем выполняю поиск через все подписи каждого изображения для выбранного hastag и вернуть этот ppost ?!

Не уверен, но если кто-то может дать мне там оппонирование или рекомендацию, это было бы здорово!

Все самое лучшее.

ответ

0

можно реализовать дб структуру, как это:

Table images 
    - image_id (primary key) 
    - filename 
    - caption 

Table hashtags 
    - hashtag (primary key) 

Table images_hashtags 
    - image_id (foreign key on images.image_id) 
    - hashtag (foreign key on hashtags.hashtag) 

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

Затем сохраните все из них в таблице хэштегов только с одним запросом (используйте REPLACE, INSERT IGNORE или ON DUPLICATE KEY); если hashtag уже существует, не может быть вставлен снова.

Затем вставьте отношение image-hashtag в таблицу images_hashtags всегда с одним запросом.

Это немного избыточный подход, но у вас будет больше гибкости при извлечении данных. Если заголовок может быть изменен пользователем, вам придется очистить некоторые строки во время обновления. На мой взгляд, лучше отправить чистую подпись и управлять логикой hashtags на стороне сервера.

+0

Спасибо за это, я не был уверен, я собирался получить ответ! Любое, что я нашел аналогично тому, что я упомянул в своем вопросе, что на данный момент работает незаметно и не имеет разницы в скорости, если я добавлю 20 хэштегов или 0 хэштегов. Но я буду оглядываться на нее на следующей неделе, чтобы проверить все. Поэтому я дам вам знать, но на данный момент ваш ответ кажется лучшим! –

0

Вы можете отправить вам изображение в виде многотомных данных и массива или хэштегов в качестве параметра любой клавиши, например:

"hashtags" : ["first", "second"] 

 Смежные вопросы

  • Нет связанных вопросов^_^