gpt4 book ai didi

php - laravel hasMany 没有 id

转载 作者:太空宇宙 更新时间:2023-11-03 10:52:02 24 4
gpt4 key购买 nike

我在 hasMany 关系中遇到了一个非常奇怪的问题,它没有返回任何东西,所以我开始挖掘以尝试找到一些东西

所以现在我有了这段代码

    echo $item->id ."<br />";
var_dump($item->menuMenuCategories()->getParent()->getKey()); echo "<br>";
var_dump($item->menuMenuCategories()->getParent()->getKeyName());

echo "
";

    $query = $item->menuMenuCategories()->getBaseQuery()->toSql();
echo $query ."<br />";

结果是这样的:

4 string(1) "4"

string(2) "id"

select * from GS_menu_menu_categories where GS_menu_menu_categories.deleted_at is null and GS_menu_menu_categories.item_id = ?

select * from GS_menu_menu_categories where GS_menu_menu_categories.deleted_at is null and GS_menu_menu_categories.item_id = ?

你能看到 item_id = 吗? ??

这就是为什么它没有返回任何东西..

我的模型以这种方式定义了关系:

public function menuMenuCategories(){
return $this->hasMany('MenuMenuCategory','item_id');
}

知道为什么它不起作用吗?我在一千个地方有 hasMany 关系,从来没有遇到过这个问题..

谢谢

最佳答案

确保您已正确提供所有内容;例如,item_id 应该在相关表 GS_menu_menu_categories 中并且它应该包含一个 id 主键,或者如果它们不同,您可以指定两者,即:

class Item extends Eloquent {

protected $table = 'items';

public function menuMenuCategories(){
// if GS_menu_menu_categories has "the_id" instead of "id" as pk
return $this->hasMany('MenuMenuCategory','item_id', 'the_id');
}
}

像这样使用它:

$item = Item::with('menuMenuCategories')->find(1); // the item with id 1

使用以下访问相关模型集合

$menuMenuCategories = $item->menuMenuCategories;

$item->menuMenuCategories->first(); // get the first one
$item->menuMenuCategories->get(1); // get the second one
$item->menuMenuCategories->get(2); // get the third one

不要使用这个:

    $item->menuMenuCategories()

因此,例如,在 View 中(非 Blade ):

foreach($item->menuMenuCategories as $category) {
echo $category->propertyName;
}

关于php - laravel hasMany 没有 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23973992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com