分配关联性[重复](Assignment associativity [duplicate])
这个问题在这里已有答案:
赋值运算符具有从右到左的关联性。 所以
var x,y; x=y=1;
按预期工作,x等于1.现在考虑代码:
var foo={}; foo.x = foo = {n: 2};
我希望以上工作方式如下:
var foo = {n: 2}; foo.x=foo;
但是,在第一种情况下,foo.x
undefined
而在第二种情况下,foo.x points to foo
(循环引用)。 任何解释?This question already has an answer here:
The assignment operator has right-to-left associativity. So
var x,y; x=y=1;
works as expected and x equals 1. Consider now the code:
var foo={}; foo.x = foo = {n: 2};
I would expect the above to work like the following:
var foo = {n: 2}; foo.x=foo;
However, in the first case foo.x is
undefined
while in the second casefoo.x points to foo
(circular reference). Any explanation?
原文:https://stackoverflow.com/questions/37763113
最满意答案
您应该在Contcat模型中添加公共var $ name ,并在规则中添加属性作为安全 ,以便使用别名来重新计算计算值
class Contact extends \yii\db\ActiveRecord { public $name; .... }
You should add a public var $name in your Contcat model and add attribute as safe in rules for recive the calculated value with alias name
class Contact extends \yii\db\ActiveRecord { public $name; .... }
相关问答
更多-
试试这个: SELECT qualifications, duties, GROUP_CONCAT(itemcode SEPARATOR ' ') AS itemcodes, COUNT(*) AS counter FROM items WHERE req_id = 1 GROUP BY qualifications, duties GROUP_CONCAT用于分组多行。 它是一个聚合函数。 CONCAT_WS用于使用分隔符连接多个字符串。 所有字符串必须作为参数传递,它不是聚合函数。 Try this: ...
-
我认为你正在寻找一个update-join语句: UPDATE week2 JOIN (SELECT voternum, GROUP_CONCAT(voterhistory ORDER BY voterhistory SEPARATOR ',') AS history FROM vhistory GROUP BY voternum) h ON week2.voternum = h.v ...
-
MYSQL GROUP_CONCAT CONCAT_WS并处理NULL值(MYSQL GROUP_CONCAT CONCAT_WS and handle NULL values)[2022-04-01]
必须更改WHERE语句: ...WHERE GroupAttrLang.`id_lang` = 1 AND AttrLang.`id_lang` = 1... 对此: LEFT JOIN `ps_attribute_group_lang` AS GroupAttrLang ON GroupAttrLang.`id_attribute_group` = TAttr.`id_attribute_group` AND GroupAttrLang.`id_lang` = 1 LEFT JOIN `ps_attri ... -
我是盲目的尝试。 除了date()转换为tb2.date_extract之外没有什么变化,如果date_extract属于TIMESTAMP或DATETIME类型, tb2.date_extract日期值。 SELECT tb1.*,tb2.*, CONCAT_WS("_",tb2.`N1`, tb2.`N2`) AS `GR`, FROM table2 tb2 INNER JOIN table1 tb1 ON tb1.`namegroup`= tb2.GR ...
-
MySQL:CONCAT_WS函数在本地运行但不在服务器上运行(MySQL: CONCAT_WS function is running on local but not on server)[2023-07-13]
解决它的最简单方法是删除函数名和括号之间的空格,即CONCAT_WS(...)而不是CONCAT_WS (...) 。 从MySQL手册 : 默认情况下,函数名称和后面的括号之间不能有空格。 这有助于MySQL解析器区分函数调用和对恰好与函数同名的表或列的引用。 ... 您可以通过使用--sql-mode = IGNORE_SPACE选项启动它来告诉MySQL服务器在函数名后面接受空格。 此外,这种行为取决于MySQL版本,这就是它在一台服务器上工作而不能在另一台服务器上工作的原因,请参考“ 功能名称解析和 ... -
TOP在MySQL中不可用,您需要使用LIMIT SELECT vwt_users.employeeFirstName, vwt_users.employeeLastName FROM vwt_users WHERE vwt_users.userID = tw_tblcourse.courseAddedID order by vwt_users.employeeFirstName, vwt_users.employeeLastName Limit 1 当您加入vwt_users(多次具有 ...
-
CONCAT_WS忽略的分隔符选择(mysql / mariadb)(choice of separator ignored by CONCAT_WS (mysql/mariadb))[2022-03-21]
可能是GROUP_CONCAT也有一个分隔符。 SELECT GROUP_CONCAT( CONCAT_WS(' / ',`Description`) ) AS `Contents` 将导致a ,分离 这里: GROUP_CONCAT( CONCAT_WS(' / ',`Description`) SEPARATOR ' / ') 将使GROUP_CONCAT具有/ separator It might be that the GROUP_CONCAT also has a separator. S ... -
您应该在Contcat模型中添加公共var $ name ,并在规则中添加属性作为安全 ,以便使用别名来重新计算计算值 class Contact extends \yii\db\ActiveRecord { public $name; .... } You should add a public var $name in your Contcat model and add attribute as safe in rules for recive the calculated value ...
-
问题是单引号: 这条线: '... CONCAT_WS('', ib.visit_id, ib.visit_child) ...' 将翻译为: '... CONCAT_WS(', ib.visit_id, ib.visit_child) ...' 你必须逃避单引号: SET @sql = CONCAT('SELECT ib.visit_id, ib.visit_child, ...
-
JOIN中的CONCAT_WS行(CONCAT_WS rows in JOIN)[2022-09-12]
它不是很清楚但似乎你真的想要使用GROUP_CONCAT ,它将为每个配置文件创建一个逗号分隔的所有类别列表: SELECT p.id, p.name, GROUP_CONCAT(c.name SEPARATOR ', ') AS keywords_categories FROM profiles p LEFT JOIN profiles_categories pc ON p.id = pc.profile_id LEFT JOIN categories c ON pc.id = c.id WH ...