How do I copy values from other files and append them to each other and put them into another field? I'm using Yii2 and a newbie

时间:2017-07-12 08:16:38

标签: sql database yii2

For example:

account_type: 1
account_type2: 100
account_type3: 200
account_type4: 001

And would like to put them into a account_code field in this format:

account_code: 1-100-200-001

What query should I do to achieve this? Sorry, I'm a newbie. I'm using Yii2. Thanks!

2 个答案:

答案 0 :(得分:0)

如果所有列都在同一个表中,这应该有效

/**
 * Show information about overflowing elements in the browser console.
 *
 * @author Nabil Kadimi
 */
var overflowing = [];
jQuery(':not(script)').filter(function() {
    return jQuery(this).width() > jQuery(window).width();
}).each(function(){
    overflowing.push({
        'xpath'    : createXPathFromElement(jQuery(this).get(0)),
        'width'    : jQuery(this).width(),
        'overflow' : jQuery(this).width() - jQuery(window).width()
    });
});
console.table(overflowing);


/**
  * Gets the Xpath of an HTML node
  *
  * @link https://stackoverflow.com/a/5178132/358906
  */
function createXPathFromElement(e){for(var t=document.getElementsByTagName("*"),a=[];e&&1==e.nodeType;e=e.parentNode)if(e.hasAttribute("id")){for(var s=0,l=0;l<t.length&&(t[l].hasAttribute("id")&&t[l].id==e.id&&s++,!(s>1));l++);if(1==s)return a.unshift('id("'+e.getAttribute("id")+'")'),a.join("/");a.unshift(e.localName.toLowerCase()+'[@id="'+e.getAttribute("id")+'"]')}else if(e.hasAttribute("class"))a.unshift(e.localName.toLowerCase()+'[@class="'+e.getAttribute("class")+'"]');else{for(i=1,sib=e.previousSibling;sib;sib=sib.previousSibling)sib.localName==e.localName&&i++;a.unshift(e.localName.toLowerCase()+"["+i+"]")}return a.length?"/"+a.join("/"):null}

//**/

答案 1 :(得分:0)

实现这一目标的一线方法是:

$result=Yii::app()->db->createCommand("UPDATE table_name SET account_code = CONCAT(account_type, "-", account_type2, "-", account_type3, "-", account_type4) WHERE SOME_condition")->queryAll();