Леса для [закрытого] PHP

Вы можете получить список местоположений без Box с:

Location.objects.filter(box__isnull=True)

или даже проще:

Location.objects.filter(box=None)

Мы можем получить QuerySet с таким [119 ] s для данной комнаты some_room с:

Location.objects.filter(box=None, loc_room=some_room)

Это приведет к запросу, который выглядит следующим образом:

SELECT location.*
FROM location
LEFT OUTER JOIN box ON location.id = box.Location_id
WHERE box.id IS NULL
AND   location.loc_room = some_room

мы также можем посчитать количество Location с с помощью:

Location.objects.filter(box=None, loc_room=some_room).count()

Если вы хотите получить для комнаты количество пустых мест, мы можем комментировать их, например:

Location.objects.values(
    'loc_room'
).filter(
    box__isnull=True
).annotate(
    nempty=Count('id')
).order_by('loc_room')

Затем мы можем напечатать эти как:

{% for each_space in Room_data %}
<p>"Room": "Room {{ each_space.loc_room }}",</p>
<p>"Empty Spaces": {{ each_space.nempty }},</p>
{% endfor %}
7
задан Akshay 9 January 2009 в 04:15
поделиться

5 ответов

Некоторые платформы как Symfony, CakePHP, Akelos, CodeIgniter и другие имеют поддержку лесов.

Однако, если Вы не хотите использовать платформу, можно попробовать phpScaffold, который генерирует страницы лесов CRUD на основе phpMyAdmin экспорта таблицы...

7
ответ дан 6 December 2019 в 06:51
поделиться

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

2
ответ дан 6 December 2019 в 06:51
поделиться

Во-первых, направляющие платформа. PHP является языком. PHP не имеет встроенной поддержки лесов, так же, как Ruby - направляющие языка, основываются - не делает. Платформа как CakePHP, однако, действительно поддерживает леса.

Во-вторых, я вижу, что Вы выдвинули возражение к CakePHP, потому что "все еще необходимо сделать набор материала". Это правда - с любой платформой, Вы оказываетесь перед необходимостью изучать новые конвенции, конфигурации и т.д.

2
ответ дан 6 December 2019 в 06:51
поделиться

Если Вы используете CakePHP в качестве веб-платформы, это поддерживает scafalding. См. эту ссылку для большего количества информации http://book.cakephp.org/2.0/en/controllers/scaffolding.html

1
ответ дан 6 December 2019 в 06:51
поделиться

Для myslef я использую CodeIniter для разработки, убедитесь, что у них есть строительные леса, но только в терминах «простых строительных лесов», что означает, что вы не собираетесь использовать их в живом продукте (я не знаю обо всех, но я использую их только как некоторые инструменты).

но если вам нужны такие, как Генератор CRUD, вы можете использовать SparkPlug или Ignition , оба они могут использоваться на Codeigniter

1
ответ дан 6 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: