亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何使用與 Doctrine 的關系?

我如何使用與 Doctrine 的關系?

PHP
拉風的咖菲貓 2023-04-02 15:04:35
我正在一個網站上工作來存儲系列。我的數據庫包含一個程序表和一個類別表。類別表有一個ID和一個name。Programs 表包含有關此程序的所有信息以及與之關聯的類別 ID。我有一個/category/$categoryName功能。我想通過user-specified $categoryName,顯示該類別中的所有程序。public function category(string $categoryName):Response{    $categoryInfos = $this->getDoctrine()        ->getRepository(Category::class)        ->findOneByName($categoryName);    $categoryID = $categoryInfos['id'];給我 ->“不能將 App\Entity\Category 類型的對象用作數組”一旦我有了category ID,我就可以顯示屬于該類別的所有程序,但是1)我無法取回ID2)我想知道是否有更簡單的命令來做我想做的事情。
查看完整描述

2 回答

?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您的結果是一個數組,因此要訪問 id,首先您需要訪問數組的第一個元素,然后您才能訪問 id:

$categoryID = $categoryInfos[0]['id'];

如果你知道你會得到一個唯一的結果,那么你可以使用 setMaxResult:

$categoryInfos = $this->getDoctrine()
    ->getRepository(Category::class)
    ->findByName($categoryName)
    ->setMaxResult(1);

結果必須是這樣的:

object(App\Entity\Category)#501 (2) { ["id":"App\Entity\Category":private]=> int(1) ["name":"App\Entity\Category":private]=> string(7) "Horreur" }

最后你可以使用你自己的代碼來訪問 id:

$categoryID = $categoryInfos['id'];

如果您仍然無法訪問 id,也許 id 是私有屬性,您可以使用getter函數,訪問 id,使用getId()或名稱使用getName()等。

$categoryID = $categoryInfos->getId();


查看完整回答
反對 回復 2023-04-02
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

/**

 * @Route("/category/{categoryName}", name="category")

 */

public function category(string $categoryName): Response

{

    $categoryInfos = $this->getDoctrine()

        ->getRepository(Category::class)

        ->findOneByName($categoryName);


    $categoryInfos->getId();


    return $this->render('home.html.twig');

}

嗯,就是這樣。



查看完整回答
反對 回復 2023-04-02
  • 2 回答
  • 0 關注
  • 104 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號