Laravel 根据数据透视表从表中获取标题

Posted

技术标签:

【中文标题】Laravel 根据数据透视表从表中获取标题【英文标题】:Laravel get title from table on basis of pivot table 【发布时间】:2020-06-24 20:03:00 【问题描述】:

我的数据库名称中有三个表,sms_content、sms_content_categories 和 categories。

表 sms_content_categories 包含“categories_id”和“sms_content_id”。而类别包含“id”、“title”。我想根据“categories_id”从类别标题中获取“标题”。

基本上我在数据表中使用它并且我得到了错误。 SQLSTAT[HY00]: 一般错误: 2031 (Sql: select 'title from categories where 'id'=?)

这是我的代码:

$categoryID = SmsContentCategories::where('sms_content_id', $smsContentID)->pluck('categories_id')->toArray();
     $categoryName = Category::where('id', $categoryID)->pluck('title')->toArray(); 

我想从类别中获取标题。

【问题讨论】:

dd($categoryID) 以确保它包含应有的内容 我已经更新了我的问题 【参考方案1】:

我想根据“categories_id”从类别标题中获取“标题”。

未经测试,但这应该可以工作:


$categoryIds = SmsContentCategories::whereIn('sms_content_id', $smsContentID)->pluck('categories_id');

$categoryTitles = Category::whereIn('id', $categoryId)->pluck('title');

【讨论】:

谢谢您的回复。现在我收到 dataTables ajax 错误。比如“DataTables 警告:table id=DataTables_Table_0 - Ajax 错误。有关此错误的更多信息,请参阅datatables.net/tn/7” @FaisalKhan 如果您在修补程序会话中尝试第一行,您会得到什么响应? php artisan tinker

以上是关于Laravel 根据数据透视表从表中获取标题的主要内容,如果未能解决你的问题,请参考以下文章

同步数据透视表 - VBA 代码不起作用

Laravel Raw 语句我可以根据列数据是不是等于另一个表从不同的表中进行选择

使用 laravel 模型获取数据时没有从表中获取结果

Oracle SQL 数据透视表从一列变为两列

Laravel - 从数据透视表中获取额外的列值

SSMS - Sql,从表中选择数据以创建数据透视结果