Rumah > Soal Jawab > teks badan
Saya pengguna baharu typo3, saya membuat pemalam untuk menunjukkan pengguna dan menggunakan bar carian untuk menapis mereka, tetapi apabila saya ingin menunjukkan halaman saya, saya mendapat ralat ini:
(1/1) #1476107295 TYPO3CMSCoreErrorException PHP Warning: Undefined array key "word" in MyPath/Controller/UserlistController.php line 44
Dalam pengawal saya, saya cuba mendapatkan parameter untuk menggunakannya dalam penapis saya seperti ini:
public function listAction(int $currentPage = 1) { $arguments = $this->request->getArguments(); $users = $this->userlistRepository->findBySearch($arguments['word'] ? $arguments['word'] : ''); somecode ... }
Saya cuba membuang $argumen tetapi ia kosong
Sebahagian daripada repositori saya:
/** * @param string $word * @return object[]|TYPO3CMSExtbasePersistenceQueryResultInterface * @throws TYPO3CMSExtbasePersistenceExceptionInvalidQueryException */ public function findBySearch(string $word) { $query = $this->persistenceManager->createQueryForType(TYPO3CMSExtbaseDomainModelFrontendUser::class); $querySettings = $query->getQuerySettings(); $querySettings->setStoragePageIds([26]); $query->setQuerySettings($querySettings); $query->setOrderings([ 'lastName' => QueryInterface::ORDER_ASCENDING ]);
Adakah sesiapa tahu mengapa saya tidak boleh mendapatkan parameter? Terima kasih
Jika anda memerlukan lebih banyak bahagian kod, sila beritahu saya
P粉8173547832023-11-13 18:55:40
Jika anda hanya memanggil operasi Senarai tanpa menghantar borang penapis, parameter akan kosong.
Anda harus menguji setiap parameter yang dijangkakan sebelum mengaksesnya, seperti ini:
if($this->request->hasArgument('word')) { $searchOption = $this->request->getArgument('word')); }