我正在使用CakePHP 3,我需要在多个表上运行原始SQL查询.在CakePHP 2中,可以通过在任何模型($this->Messages->query("select.."))上使用query()方法来完成.
我需要允许我在CakePHP 3中运行SQL查询的方法.以下是我正在使用的代码片段:
$aumTable = TableRegistry::get('Messages');
$sql = "SELECT (SELECT COUNT(*) FROM `messages`) AS `Total_Count`,
(SELECT COUNT(*) FROM `messages_output`) AS `Total_Output_Count`,
(SELECT COUNT(*) FROM `messages_output` WHERE `is_success`=1) AS `Total_Successful_Output_Count`,
(SELECT COUNT(*) FROM `messages_output` WHERE `is_success`=0) AS `Total_Error_Output_Count`,
(SELECT COUNT(*) FROM `users`) AS `Total_User_Count`;";
// to run this raw SQL query what method should i use? query() doesn't work..
// $result = $aumTable->query($sql); ??
// $result = $aumTable->sql($sql); ??
Run Code Online (Sandbox Code Playgroud)
如果您可以提供CakePHP 3模型文档的链接,我可以在其中找到此信息,这也会有所帮助.我尝试在谷歌上搜索,但只能找到与CakePHP 2相关的问题.
我正在阅读fully_connected_feed.py 包含以下代码的tensorflow教程文件.我不明白那些意思.我们为什么需要那个?它似乎只是定义了一些全局变量.为什么不直接定义它们?任何帮助表示赞赏.谢谢
flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_float('learning_rate', 0.01, 'Initial learning rate.')
flags.DEFINE_integer('max_steps', 2000, 'Number of steps to run trainer.')
flags.DEFINE_integer('hidden1', 128, 'Number of units in hidden layer 1.')
flags.DEFINE_integer('hidden2', 32, 'Number of units in hidden layer 2.')
flags.DEFINE_integer('batch_size', 100, 'Batch size. '
'Must divide evenly into the dataset sizes.')
flags.DEFINE_string('train_dir', 'data', 'Directory to put the training data.')
flags.DEFINE_boolean('fake_data', False, 'If true, uses fake data '
'for unit testing.')
Run Code Online (Sandbox Code Playgroud) 假设我有一个任意嵌套的字典:
d = {
11: {
21: {31: 'a', 32: 'b'},
22: {31: 'a', 34: 'c'},
},
12: {
1: {2: 3}
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个键列表,其位置告诉我哪个嵌套字典可以查找每个键:
keys = [11, 21, 31]
# keys = [11, 23, 44]
Run Code Online (Sandbox Code Playgroud)
有一个简单的衬垫来做这个吗?我看了下面列出的问题,它们是相似的,但不是我真正想要的.我自己也试过了,想出了这个:
from functools import reduce
def lookup(d, key):
return d.get(key, {}) if d and isinstance(d, dict) else None
def fn(keys, d):
return reduce(lookup, keys, d)
print(fn(keys, d)) # prints 'a'
Run Code Online (Sandbox Code Playgroud)
这样做的问题是,如果是第二个键列表(参见注释掉的键),它会继续查找嵌套键,即使没有找到更高级别的键,继续也没有意义.我怎么能reduce在找到最终匹配或失败后立即停止(下面列出的一个问题解决了它,但我不能在我的用例中真正应用它......或者我可以吗?)?还有其他想法吗?哦,我想用官方的python库来完成这个.所以不numpy,pandas等等,但是functools,itertools没关系
Python:将列表转换为带有异常处理的多维dict的dict键
我试图按照源代码的顺序使用inspect.getmembers从模块中获取功能列表。
下面是代码
def get_functions_from_module(app_module):
list_of_functions = dict(inspect.getmembers(app_module,
inspect.isfunction))
return list_of_functions.values
Run Code Online (Sandbox Code Playgroud)
当前代码不会按源代码的顺序返回功能对象的列表,我想知道是否可以对其进行排序。
谢谢!
我正在开发一个应用程序,它使用一组变量从电报中读取消息输入,然后与用户一起开始游戏.所以我创建了一个代表游戏实例的类,每次聊天可以创建一个游戏:
class Battle:
def __init__(self, mainchat):
self.mainchat = mainchat
print('Instance of battle started on chat %s' % self.mainchat)
pcount = 0
team1 = []
team2 = []
p1 = ()
p2 = ()
p1score = 0
p2score = 0
battlechoicep1 = -1
battlechoicep2 = -1
Run Code Online (Sandbox Code Playgroud)
所以,一旦我收到消息,我就会根据用户输入启动一个战斗实例,例如
battle = Battle(chat_id)
battle.p1 = 'Paul'
battle.battlechoicep1 = 4
...
Run Code Online (Sandbox Code Playgroud)
这种方式现在一直很好,但每次我想重置战斗时,我都会通过一个函数执行此操作:
battle.pcount = 0
battle.team1 = []
battle.team2 = []
battle.p1 = ()
battle.p2 = ()
battle.p1score = 0
battle.p2score = 0
battle.battlechoicep1 = …Run Code Online (Sandbox Code Playgroud) 我在将用户输入放入列表时遇到了一些麻烦。我基本上希望用户输入大约 5 件事,并将每个项目单独存储在列表中。然后我想显示该列表中的所有输入。如果有人可以提供任何指导,我们将不胜感激。这是我到目前为止所拥有的:
mylist=[1,2,3,4,5]
print mylist
print"Enter 5 items on shopping list"
for i in mylist:
shopping=raw_input()
print shopping
Run Code Online (Sandbox Code Playgroud) 我正在尝试从某个网站检索链接并将其保存到列表中以供进一步使用.到目前为止我得到的(这是我存储输出的.txt文件):
<ul>
<li><a class="active" href="/review/huerco-s-those-you-who-have-never-and-also-those-w/">Huerco S.<span><i>For Those Of You Who Have Never (And Also Those Who Have)</i></span></a></li>
<li><a href="/review/dam-funk-dj-kicks/">Dâm-Funk<span><i>DJ-Kicks</i> </span></a></li>
<li><a href="/review/skepta-konnichiwa/">Skepta<span><i>Konnichiwa</i></span></a></li>
<li><a href="/review/jessy-lanza-oh-no/">Jessy Lanza<span><i>Oh No</i></span></a></li>
<li><a href="/review/radiohead-moon-shaped-pool/">Radiohead<span><i>A Moon Shaped Pool</i></span></a></li>
<li><a href="/review/brodka-clashes/">Brodka<span><i>Clashes</i></span></a></li>
<li><a href="/review/james-blake-colour-anything/">James Blake<span><i> The Colour In Anything</i></span></a></li>
<li><a href="/review/kamaiyah-good-night-ghetto/">Kamaiyah<span><i>A Good Night In The Ghetto</i></span></a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想将这些特定链接提取到列表中.我的代码:
website = "http://www.porcys.com/review/"
openWebsite = soup(urllib.request.urlopen(website), 'html.parser')
reviews = openWebsite.find(name="section", attrs={'class': 'slider-content review'}).ul
for a in reviews(href = True):
temp = str("http://www.porcys.com"+str(a['href']))
print(temp)
Run Code Online (Sandbox Code Playgroud)
打印输出正是我想要的(这意味着 - 只是链接,没有任何HTML标签),但我将它移动到列表有困难.我试过了
results[a] = temp
a+=1
Run Code Online (Sandbox Code Playgroud)
但我得到"列表索引必须是整数或切片,而不是标签"
python ×6
cakephp ×1
cakephp-3.0 ×1
dictionary ×1
for-loop ×1
functools ×1
inspect ×1
list ×1
loops ×1
model ×1
php ×1
reduce ×1
tensorflow ×1