如何添加自定义条件查询(请各位老大指教)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何添加自定义条件查询(请各位老大指教)相关的知识,希望对你有一定的参考价值。
以下为B1 查询报表中的,条件代码,我要添加的是 自定义季节的, 查询条件。/*Select from [dbo].[DLN1] T0*/Declare@whsCode nvarchar(16) /* WHERE */Set @whsCode = /* T0.WhsCode */ '[%0]' //这是仓库代码/*Select from [dbo].[DLN1] T0*/Declare@itemcodenvarchar(20) /* WHERE */Set @itemcode = /* T0.ItemCode */ '[%1]' //这是物料编码/*Select from [dbo].[ODLN] T0*/Declare@fromdate datetime /* WHERE */Set @fromdate=/*T0.DOCDATE*/'[%2]' //这是从时间/*Select from [dbo].[ODLN] T0*/Declare@todate datetime /* WHERE */Set @todate=/*T0.DOCDATE*/'[%3]' //这是到时间/*Select from [dbo].[UN_SEAN] T0*/ //这是季节条件Declare@ReanCodenvarchar(20) /* WHERE */Set @ReanCode = /* T0.Name */ '[%4]'Exec Xmrm_xx_sumbydate1 @whscode,@itemcode,@ReanCode,@fromdate,@todate其它条件查询都没有问题,只有季节一加后,就报错, UN_SEAN 表是我自己新建的表表结构为 codenvarchar(20)name nvarchar(20)记录为: codename C 春季 X 夏季 ...不知道我这样添加为什么不成功,难道是因为, 我新建的表,B1不认吗?还请指教,谢谢了。
参考技术A 07B好像是不行的找个一个主数据,如物料组或仓库那里增加自定义字段。是否可以在 Laravel 查询生成器中按条件向 JSON 添加自定义字段?
【中文标题】是否可以在 Laravel 查询生成器中按条件向 JSON 添加自定义字段?【英文标题】:Is it possible to add custom field to JSON by condition in Laravel query builder? 【发布时间】:2019-11-22 16:51:50 【问题描述】:天才们。
我正在制作类似 Laravel 的 Instagram 网站。 人们可以像在 Instagram 上那样发布图片、按下“爱”按钮。
我的问题是如何实现当前登录用户是否被推送“爱”。
我终于在这个控制器中获得了如下用户推送“爱”的列表。但它是太多无用的信息。如果 1k 人推动“爱”怎么办……那将是可怕的 JSON。
我已经花了一整天的时间来制作这个部分......希望我能得到你的帮助。谢谢。
当前的 JSON 结构。 当前代码。 评论模型。
【问题讨论】:
我认为不需要显示相同代码的两个图像。我认为这使问题变得混乱。你可以解释说你想删除第一张图片后以黄色突出显示的代码,并将其替换为生成loved:true或loved:false的代码。 另外,您应该粘贴代码而不是提供屏幕截图。这使人们更容易复制等。您可以使用 cmets 轻松突出显示相关部分。 是的,我下个帖子试试。 【参考方案1】:您可以使用属性和附加来创建自定义数据字段。由于它是一个布尔值,我将其命名为is_loved
,但您可以根据需要更改它。
class Comment extends Model
// attributes to append to JSON response
protected $appends = ['is_loved'];
// ... your other properties and methods
public function getIsLovedAttribute()
if (auth()->check())
return !! $this->loveComments()->where('from',auth()->user()->id)->count();
return false;
现在不再需要加载love_comments
关系。
编辑:我添加了授权检查以确保用户首先登录。这是为了以防您公开向客人展示 cmets。否则,它可能会引发错误。
【讨论】:
我想将参数传递给getIsLovedAttribute(),所以我把它改成了getIsLovedAttribute($userID)。现在我输入“$query->getIsLovedAttribute($userID);”在 "$query->with(array('cmets'...." 但我得到错误'调用未定义的方法 Illuminate\Database\Eloquent\Relations\HasMany:' 似乎 laravel 把它当作 hasMany 关系。什么是调用此函数的正确方法? 我意识到无法将 parm 传递给访问者。还是谢谢! 在你原来的问题中,你写了all I want is current login user
,对吗?这正是auth()->user()
提供的内容,其中auth()->user()->id
是登录用户的ID。这不是你要找的吗?如果您正在尝试制定另一个用例,很高兴提供任何其他见解。
为了做到这一点,我要将 authProvider 从 javascript 移动到 php。
哦,有趣。我只是假设你使用 Laravel,它已经在处理你的授权。希望没有太多的工作可以改变。以上是关于如何添加自定义条件查询(请各位老大指教)的主要内容,如果未能解决你的问题,请参考以下文章