时间戳转换器

将 for 循环的结果附加到 Laravel 中的 eloquent 输出

日期:2023-02-16     浏览:191    
【中文标题】将 for 循环的结果附加到 Laravel 中的 eloquent 输出【英文标题】:Attach result of for loop to eloquent output in Laravel 【发布时间】:2021-08-28 14:03:07 【问题描述】:

美好的一天。就像我在这篇文章Using Query Builder and MySql to get categories and sub - categories 中解释的那样,我想从这张表中做出一些有意义的事情。我决定走 Eloquent 的方式。我能够得到不同的类别,如下所示。我如何遍历属于特定类别的每个标题? 例如,以如下形式获取:

CatA

Title 1
Title 5

猫B

Title 2
Title 3
Title 4

我的代码如下所示

public function type(Request $request)
    
    $details = [];

    $categories = Category::distinct()->get(['category']); //Get the distinct categories from the category column in the table


    foreach($categories as $category)
      $titles = Category::where('type',$category->type);
      $details = ['cat'=>$category->type,[
          'title' => $titles->title,
          'pk' => $titles->pk
      ]];
    

    return response()->json([
         "Data" => $details
    ]);

没有得到结果。请问有没有更好的方法可以做到这一点?

【问题讨论】:

我会使用两个模型 Category 和 Title。否则你的模型会有点混乱。 您使用显示的代码得到什么结果?看来你需要的是一个 gruopBy 【参考方案1】:

您可以与帖子和类别建立多对多关系。然后获取所有类别的帖子。

例子:

$categories = Category::with('posts')->all();

然后您可以循环浏览类别和帖子

foreach($categories as $category)
   foreach($category->posts as $post)
      echo $post->title;
   

文档:https://laravel.com/docs/8.x/eloquent-relationships#many-to-many

【讨论】:

谢谢。我试过这个,但它不起作用,因为类别必须首先是不同的。 $categories = Category::with('posts')->distinct()->get(['type']);正在为帖子返回一个空数组 $categories = Category::with('posts')->distinct()->get(['type']);正在为帖子返回一个空数组

相关文章

For循环正在覆盖列表中的字典值[重复]

{】For循环正在覆盖列表中的字典值[重复]【英文标题】:Forloopisoverwritingdictionaryvaluesinlist[duplicate]【发布时间】:2018-06-0106:04:13【问题描述】:问题我已经创建了一个for循环来读取列表的内容,但是当将两个值分配给字典然后将...}

如何使用 Vue.js 将 DataTable() 与数组中的数据(v-for 循环)附加到现有的 HTML <table>?

{】如何使用Vue.js将DataTable()与数组中的数据(v-for循环)附加到现有的HTML<table>?【英文标题】:HowtoattachDataTable()toexistingHTML<table>withthedatainarray(v-forloop)usingVue.js?【发布时间】:2019-10-0317:18:35【问题描述】:我在Vue.js中遇...}

从python中的for循环返回值

{】从python中的for循环返回值【英文标题】:Returnsvaluesfromaforloopinpython【发布时间】:2011-07-0508:19:44【问题描述】:我正在尝试找出在for循环语法中将参数从一个列表或字典传递到另一个的语法。我想要的结果是这样的:forbeaninbea...}

使用 for 循环将字符串附加到列表中,其中附加的每个项目都是一个新字符串

{】使用for循环将字符串附加到列表中,其中附加的每个项目都是一个新字符串【英文标题】:Appendingastringtoalistusingaforloopwhereeachitemisappendedisanewstring【发布时间】:2019-07-0505:14:38【问题描述】:我正在尝试创建一个新的创建列表...}

Python For循环仅将最后一个值附加到列表

{】PythonFor循环仅将最后一个值附加到列表【英文标题】:PythonForLoopAppendingOnlyLastValuetoList【发布时间】:2019-05-1523:54:25【问题描述】:我有一个循环,它将一个列表的值设置为另一个列表的值,虽然我能够使用我当前的代码实现...}

在 Laravel 中的 for 循环外访问变量

{】在Laravel中的for循环外访问变量【英文标题】:AccessvariableoutsideforloopinLaravel【发布时间】:2020-06-2200:40:39【问题描述】:我需要在for循环之外的循环中访问一个变量。我已经将类函数之外的变量定义为这样的私有变量。private$co...}

Laravel 5.1 中 for 循环中的 PHP Carbon 日期

{】Laravel5.1中for循环中的PHPCarbon日期【英文标题】:PHPCarbondateinaforloopinLaravel5.1【发布时间】:2017-01-2712:20:44【问题描述】:我想创建六个月的贷款支付计划,所以我想从今天开始增加一个月到6次并将其保存到db这是我到目前为止...}

为啥我的 for 循环覆盖而不是追加?

{】为啥我的for循环覆盖而不是追加?【英文标题】:Whyismyforloopoverwritinginsteadofappending?为什么我的for循环覆盖而不是追加?【发布时间】:2017-11-1121:28:14【问题描述】:我尝试将多个(25k).csv文件附加到HDFStore文件中。它们都共享...}

如何在Python中的for循环内创建对象列表而不继承属性值[重复]

{】如何在Python中的for循环内创建对象列表而不继承属性值[重复]【英文标题】:HowtocreatealistofobjectsinsideaforloopinPythonwithoutinheritattributevalues[duplicate]【发布时间】:2019-11-1215:21:37【问题描述】:下面的代码创建了一个对象列表,其...}

如何在 for 循环中附加熊猫数据框中的行?

{】如何在for循环中附加熊猫数据框中的行?【英文标题】:Howtoappendrowsinapandasdataframeinaforloop?【发布时间】:2015-10-1821:44:09【问题描述】:我有以下for循环:foriinlinks:data=urllib2.urlopen(str(i)).read()data=json.loads(data)data=pd.DataFrame(data.ite...}

Copyright ©2021 时间戳转换器 小常识 114pp | 陕ICP备18005036号