调用laravel关系时避免字符串

时间:2018-06-14 15:38:49

标签: php laravel

这是模型中的关系

$article_type = ArticleType::with('article_children')->find($id);

我用这行称呼它

$article_type = ArticleType::with(ArticleType::someReferenceToMethodArticleChildren)->find($id);

我的代码很好用,但令我恼火的是我必须传递方法名称' article_children'作为字符串,我试图避免...

理想的解决方案是

from ctypes import *

ERR_Success = 0
ERR_Error = -1
ERR_NotExist = -2
ERR_Opened = -3
ERR_NotOpened = -4
debounce=1
mydll = windll.LoadLibrary("C:\\Users\\test\\Documents\\TestPy\\AGP1_MFC64.dll")

iRet=mydll.AXGMB_Nvram_Open()
if (iRet != ERR_Success and iRet != ERR_Opened):
    print "error"
iRet = mydll.AXGMB_DIO_SetDebounceTime(debounce)
if (iRet == ERR_Success):
    print "AXGMB_DIO_SetDebounceTime Function success"
else:
    print "AXGMB_DIO_SetDebounceTime Function failure"
mydll.AXGMB_DIO_Close()

所以在遥远的未来,我可以选择在该引用上使用CRTL + CLick,它会直接引导我在PHP-Storm中使用关系方法。

如果有人知道答案如何改进那部分代码,请告诉我:)

1 个答案:

答案 0 :(得分:0)

我有这个工作。在ArticleType模型上,添加:

public static $relChildren = "article_children";

然后在使用::with()时,您可以使用:

ArticleType::with(ArticleType::$relChildren)->first();

我不知道这是否会解决您尝试通过PHPStorm查找引用的问题,但这似乎适用于字符串替换。