Область применения OctoberCMS не применяется
Итак, сценарий здесь таков, что я пытаюсь создать простую область в OctoberCMS, которая позволит мне отфильтровать запрос с помощью компонента списка плагинов компоновщика. В моей модели я определил область действия как таковую:
public function scopeFirst($query)
{
return $query->where('practice_name',1);
}
Это должно просто ограничить запрос на выборку только тех записей, где это значение равно 1. Компонент распознает эту область и позволяет мне выбрать ее из выпадающего списка, как указано в моем файле index.htm:
[builderList]
modelClass = "vetadmin\Practicedetails\Models\Practicedetails"
scope = "scopeFirst"
displayColumn = "id"
noRecordsMessage = "No records found"
detailsPage = "-"
detailsUrlParameter = "id"
pageNumber = "{{ :page }}"
У кого-нибудь есть идеи о том, что может быть причиной того, что оно не применяет ограничение? В настоящее время все записи возвращаются. Документация не особенно проработана по этому вопросу и просто предлагает вам определить область действия в вашем php-файле модели плагинов (как я сделал)
https://octobercms.com/docs/database/model
это документация, на которую я ссылаюсь.
Благодарю.
0 ответов
Хм, это немного сбивает с толку larval eloquent model
Я проверил ваш код и область
Тогда я просто понял, что scopeFirst
можно применять на модальном вот так $modal->first()
<= this is issue its reserved method
Согласно моим знаниям first
[ref: https://laravel.com/docs/5.7/eloquent] - это способ получить первую запись из collection/models
, [ Итак, с вашей областью обращаются так и в итоге ничего не делают! ]
Итак, просто измените название вашей области видимости, как
scopeFirstPractice
и т.д.. может решить нашу проблему.
и просто нормально использовать
[builderList]
modelClass = "vetadmin\Practicedetails\Models\Practicedetails"
scope = "scopeFirstPractice"
Это должно определенно работать. [Я проверил. ]
если есть сомнения, пожалуйста, прокомментируйте