php - get() 不起作用,但 First() 起作用。我需要使用 get() 来获取我的所有数据

标签 php mysql laravel laravel-5 eloquent

我有一个显示类别/主要帖子的页面,单击该页面将导航到包含与主帖子主题相关的子帖子的页面。然而,问题是,当我尝试使用 ->get() 时,它显示以下错误: Oops an Error occured

我用来获取信息的函数如下(URL 显示为 slug):

public function knowledge_collection($slug, Request $request){
    $knowledge_post_primary = Knowledge::where('knowledge_slug', $slug)->get();
    //dd($knowledge_post_primary);
    $knowledge_posts = Knowledge_Post::where('parent_id', $knowledge_post_primary->id)->get();
    return view('knowledge.knowledge_posts', compact('knowledge_posts', 'knowledge_post_primary'));
}

这很可能是一个简单的修复,但我似乎找不到它。我希望其他人能够并且将来能够帮助我:)

我尝试以不同的方式并使用 FindorFail() 请求数据,但到目前为止没有任何效果。

编辑:要求的屏幕截图。 yeet

编辑编辑:使用@Gulshans代码后,我收到以下错误:shii blade error

最佳答案

如果您想获取knowledge_slug的Knowledge_Post,并且只有一个Knowledge记录,您应该使用

public function knowledge_collection($slug, Request $request){
    $knowledge_post_primary = Knowledge::where('knowledge_slug', $slug)->first();
    $knowledge_posts = Knowledge_Post::where('parent_id', $knowledge_post_primary->id)->get();
    return view('knowledge.knowledge_posts', compact('knowledge_posts', 'knowledge_post_primary'));
}

如果有很多记录并且希望Knowledge_Posts与所有记录相关,则在whereIn中,要获取所有id,您应该使用pluck('id')->all()pluck ('id')->toArray()

public function knowledge_collection($slug, Request $request){
        $knowledge_post_primary_Ids = Knowledge::where('knowledge_slug', $slug)->pluck('id')->all();
        $knowledge_posts = Knowledge_Post::whereIn('parent_id', $knowledge_post_primary_Ids)->get();
        return view('knowledge.knowledge_posts', compact('knowledge_posts', 'knowledge_post_primary'));
    }

关于php - get() 不起作用,但 First() 起作用。我需要使用 get() 来获取我的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55947410/

相关文章:

php pdo csv 文件写入数据库

laravel - 多授权使用一页登录laravel

php - Laravel @extends 和 @include

javascript - PHP 写入文件时行结尾错误

PHP - XHTML 表单上的分页列表

php - TCPDF 错误 : Unable to create output file

mysql - Mariadb/MySQL 在比较 TimeStamp 时的区别

mysql - 获取由多个字段组合而成的不同行(包括连接字段)

php - Laravel Blade @lang() 本地化中的多元化?

php - 如何从mysql数据库中获取数据?