这是一个无聊的问题,但是我从来没有得到过直接的回答.
假设我有一个包含以下字段和值的数据库表:
| id | date_added | balance |
+------------------------------------+
| 1 | 2009-12-01 19:43:22 | 1237.50 |
| 2 | 2010-01-12 03:19:54 | 473.00 |
| 3 | 2010-01-12 03:19:54 | 2131.20 |
| 4 | 2010-01-20 11:27:31 | 3238.10 |
| 5 | 2010-01-25 22:52:07 | 569.40 |
+------------------------------------+
Run Code Online (Sandbox Code Playgroud)
这是一个非常基本的"会计"子系统.我想获得最新的余额.该id
字段设置为auto_increment.通常,我会使用:
SELECT balance FROM my_table ORDER BY date_added DESC LIMIT 1;
但我需要确保返回的值是最新的...(参见上面的id#2和3)
1)我会更好地使用:
SELECT balance FROM my_table ORDER BY id DESC LIMIT 1;
2)或者这是一个更好的解决方案?:
SELECT …
在某些时候,我的 VS Code 开始出现一个问题,即查看更改时将以前的版本显示为空白 - 就像您会看到它是否是一个新的未跟踪文件一样。这以前总是显示正确的信息。如果我运行git diff <filename>
,它会显示正确的数据,但 VS Code 将其显示为:
除此之外,当我暂存更改然后单击文件以查看更改时,两个窗格上都不会显示任何内容:
据我所知,我没有对我的计算机进行任何更改(除了一些 Windows 更新)。
我最近做的唯一一件事就是安装 Ruby 和另一个 Git 插件,但这比这些问题要晚得多。
我试过了:
我无法访问另一个存储库,否则我接下来会尝试。我完全被难住了,感谢您提供的任何帮助。提前致谢。
编辑: 我仅使用我的 Microsoft 登录名(而不是我们的域凭据)在计算机上创建了一个新的本地管理员帐户,然后从 GitHub 克隆了一个存储库。它显示了所有更改并按预期运行。所以我不确定这是否是我现在的用户帐户或存储库的问题。如果有任何关于我还可以尝试的建议,我将不胜感激!
编辑:我已经在本地、映射的网络驱动器上创建了一个新存储库,也直接通过 UNC 创建了一个新存储库,所有这些都工作得很好(从我的域登录帐户)。据我所知,目前这似乎是回购协议的一个问题。
我有一个关于使用Extjs的update()方法的性能,可靠性和最佳实践方法的问题,而不是直接更新Ext元素的dom的innerHTML.
考虑两个陈述:
Ext.fly('element-id').dom.innerHTML = 'Welcome, Dude!';
Run Code Online (Sandbox Code Playgroud)
和
Ext.fly('element.id').update('Welcome, Dude!', false);
Run Code Online (Sandbox Code Playgroud)
我不需要eval()
任何脚本,我确信这update()
会考虑任何浏览器怪癖.
此外,有谁知道如果使用:
Ext.fly('element-id').dom.innerHTML
Run Code Online (Sandbox Code Playgroud)
是相同的
d.getElementById('element-id').innerHTML
Run Code Online (Sandbox Code Playgroud)
?
浏览器和平台兼容性很重要,如果两者基本相同,那么Ext.element.dom.innerHTML
完全update()
放弃可能是我最好的解决方案.
在此先感谢您的帮助,
布赖恩
我有一个Ext TreePanel
,我正在尝试添加一些服务器端分页.我们正在使用Ext 2.2.0.
我们有一个只有两层的自定义树.我们列出树本身下的25个项目(根?),但每个项目节点可以有无限量的子项.我猜这些是"叶子".项目节点使用自定义uiProvider
,所有子项都使用.
我已经为prev/next页面添加了一些图像,itemNodeUI
并添加了处理程序,这些处理程序使用pageNumber更新项目节点的属性.在DataUrl
PHP文件抓住这些属性和基本附加LIMIT
到SQL查询.
一切都按预期工作,除非您单击下一个/上一个图像,项目节点将折叠.如果你扩展节点,一切都应该是,但我要么节点要保持扩展,要么在加载后自动重新扩展.我已经尝试使用expand()
,fireEvent('expand')
,expandChildNodes
,整个九码.没有.
这是单击"上一页"按钮时调用的函数:
onPaginationPrevButtonClick: function(e,t) {
var parentEl = Ext.get(t).findParentNode('.x-tree-node-ct', 10, false).previousSibling;
var treeNodeId = parentEl.getAttribute('ext:tree-node-id');
var treeNode = this.tree.getNodeById(treeNodeId);
var currentPage = parseInt(treeNode.attributes.pageNumber);
if (currentPage > 0) {
treeNode.attributes.pageNumber = currentPage - 1;
}
treeNode.getLoader().load(treeNode);
}
Run Code Online (Sandbox Code Playgroud)
我遇到的另一个问题是,当调用上述函数时itemNodeUI
,扩展的TreeNodeUI
内容不会被"刷新".因此,显示正在显示多少结果的文本不会从第一页更改.有没有办法刷新这个节点并让它扩展,而不重新加载整个树?
如果有更好或更简单的方法我应该这样做,我感谢您的任何输入.我是Ext.NEWB,所以我所做的每件事都是'黑客'.;)
编辑:
我几乎不好意思承认这一点,但我完全能够通过使用treeNode.reload()
而不是重新load()
加载加载器本身来解决崩溃问题.叹...
treeNode.getLoader().load(treeNode);
Run Code Online (Sandbox Code Playgroud)
本来应该:
treeNode.reload();
Run Code Online (Sandbox Code Playgroud)
但是,我仍然需要弄清楚如何刷新节点本身,以便显示结果的文本和prev/next按钮正确显示.我尝试过使用:
treeNode.parentNode.reload();
Run Code Online (Sandbox Code Playgroud)
......但所有这一切都是刷新整棵树.我只想更新itemNode本身.有什么想法吗?
提前谢谢了!
假设DOM中的每个元素都有自己唯一的类名:
在使用jQuery选择DOM中的元素时,使用ID与类名称是否更好?
在jQuery中使用one over other时是否有任何性能优势?
我被告知传统上通过ID而不是通过类获取DOM元素要快得多,通常是更好的做法,但这也适用于jQuery吗?
提前谢谢了!
我似乎无法在“网络”上的任何地方找到答案...
将函数参数重新声明为局部变量是否有任何原因、优点或缺点?
例子:
function(param1, param2) {
var param1, param2;
...etc...
}
Run Code Online (Sandbox Code Playgroud)
对我来说似乎非常多余,但也许我错过了一些东西......?
谢谢,
布赖恩
我有一个简单的users
表,我想找到所有用户email_notifications
= 1.
逻辑规定以下内容应该有效:
class Controller_Test extends Controller {
public function action_index()
{
$user = ORM::factory('user');
$user = $user->where('email_notifications', '=', 1);
$total = $user->count_all();
$users = $user->find_all();
echo $total." records found.<br/>";
foreach ($users as $v)
{
echo $v->id;
echo $v->first_name;
echo $v->last_name;
echo $v->email;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然而,正在发生的事情是我从数据库中恢复了所有用户,而不仅仅是打开了email_notifications的用户.有趣的是,$total
返回的值是此查询的准确数字结果.
我很难过,我不知道这里有什么问题.如果有人可以发光,我真的很感激.
谢谢,
Brian
我如何让它工作?
$stuff = ORM::factory('mytable')
->with('user')
->with('other_stuff')
->find_all();
Run Code Online (Sandbox Code Playgroud)
我已经建立了所有关系,当我做其他查询时,一切似乎都在起作用.但是,在上面的查询中,它没有将表用户连接到mytable.我想这可能是因为一个mytable可能有很多用户.
在引用中有一个方法叫做join()
我认为我可能需要在这里使用,但它们没有提供任何信息,我在这里搜索的东西不起作用.
当我尝试使用join
而不是with
,它尝试加入表,但它不包括任何"加入"信息,只是给出一个空()
.
我知道我的ORM数据库关系都设置正确,所以我有点困惑.
感谢Kohana的出色文档,我不得不求助于自己.;)
希望这很简单:我正在尝试收集属于某组ID的所有故事.我的代码如下:
$story_ids = '(12,56,99,213,319)';
$stories = ORM::factory('story')->where('id', 'IN', $story_ids)->find_all();
Run Code Online (Sandbox Code Playgroud)
但是,这显然不起作用.我收到MySQL错误,因为单引号被放在$story_ids
查询中的字符串周围.
编辑:我也试过传递$story_ids
作为一个数组,但后来我得到一个"500内部服务器错误"
有可能做我要问的事吗?
提前致谢.
我有两个表,其中存储了一些事务性的东西.user_id
每个表中每个都有很多记录.表1和表2具有彼此一对一的关系.我想从两个表中提取记录,但我想排除在两个表中都有某些值的记录.我不在乎他们是否都没有这些值,或者只是一个,但两个表都不应该同时具有这两个值.
例如:
SELECT t1.id, t1.type, t2.name
FROM table1 t1
INNER JOIN table2 t2 ON table.xid = table2.id
WHERE t1.user_id = 100
AND (t1.type != 'FOO' AND t2.name != 'BAR')
Run Code Online (Sandbox Code Playgroud)
所以t1.type
是类型ENUM
与约10个不同的选项,t2.name
也输入ENUM
有2个选项.
我的预期结果看起来有点像:
1, FOO, YUM
2, BOO, BAR
3, BOO, YUM
Run Code Online (Sandbox Code Playgroud)
但相反,我得到的只是:
3, BOO, YUM
Run Code Online (Sandbox Code Playgroud)
它似乎过滤掉所有以'FOO'为类型,'BAR'为名称的记录.
(我们正在使用MySQL 5.1 ...)
kohana-3 ×3
kohana-orm ×3
extjs ×2
javascript ×2
mysql ×2
dom ×1
function ×1
git ×1
innerhtml ×1
sql ×1
sql-order-by ×1
variables ×1