1

我的mysql结构如下:

+----+-------------------------+-------------+-----------+--------------+
| id | title/text/moretext/img | language_id | course_id | country_code |
+----+-------------------------+-------------+-----------+--------------+
|  1 | Plenty of information   |           1 |         3 | it           |
+----+-------------------------+-------------+-----------+--------------+

我正在使用 laravel 框架来构建我的网站。

这是一个食谱。这是一道开胃菜(course_id 3 使用 php 数组转换为开胃菜,因为页面是多语言的)。这道开胃菜来自它。'it' 在 PHP 中再次翻译为意大利,因为国家名称将是多语言的。配方是用英语编写的(language_id 是与语言表的一对多关系,语言 id 1 是英语)。提供此信息以防万一它改变任何东西,我对此表示怀疑,但最好安全行事。

每篇文章将只有一个标签。

我需要的是一个与所有可用选项相呼应的选择列表(与正在使用的过滤器相关的选项,所以如果我没有来自南非的法语食谱,如果法语是所选语言,南非将不会显示在过滤器列表中) .

谷歌一无所获,我的时间不多了,我的想法为零。有什么方法可以轻松实现吗?

我查看了http://luis-almeida.github.com/filtrify/并认为这正是我想要的功能,但我认为它对大型数据库来说太重了,因为我必须这样做查询整个数据库并从中列出。但我可能错了。

使用类似http://harvesthq.github.com/chosen/的实现也可以用于选择,但我什至不知道如何实现它。

任何帮助都会非常棒。我在这里完全超出了我的头脑,完全没有编程热情。我已经花了几天的时间在这上面画一个空白。没有别的要问了。

4

1 回答 1

1

一种快速而肮脏的方式来解决这个问题(你可以随时回来并在以后增强它)将是

SELECT DISTINCT country_code, language_id 
FROM recipes 
ORDER BY country_code, language_id

使用任何必要的连接/翻译来获取国家名称和语言名称,然后从结果中制作一个下拉菜单......

Deutschland - Deutsch 
France - Francais 
South Africa - Afrikaans 
South Africa - English 
United States - English

所以每个项目都是国家名称和语言。如果大多数国家/地区只使用一种或两种语言,那么这对用户来说不应该是压倒性的。

于 2012-12-11T23:27:46.390 回答