锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品碰碰,亚洲国产日韩成人综合天堂,亚洲无线电影官网http://m.tkk7.com/programmer/category/27883.htmlzh-cnFri, 07 Dec 2007 06:21:09 GMTFri, 07 Dec 2007 06:21:09 GMT60How To: Using symfony to add a join between tableshttp://m.tkk7.com/programmer/archive/2007/12/05/165599.htmlwadewadeWed, 05 Dec 2007 09:26:00 GMThttp://m.tkk7.com/programmer/archive/2007/12/05/165599.htmlhttp://m.tkk7.com/programmer/comments/165599.htmlhttp://m.tkk7.com/programmer/archive/2007/12/05/165599.html#Feedback0http://m.tkk7.com/programmer/comments/commentRss/165599.htmlhttp://m.tkk7.com/programmer/services/trackbacks/165599.html1. simple join two tables

purpose:
generate sql like:   

select * from photo p
    left join artist a on p.artist_id = a.artist_id
      where a.genre = 'something' and p.genre = 'something'

code:           

if(!CriteriaUtil::hasJoin($criteria, ArtistPeer::TABLE_NAME)){
    $criteria->addJoin(PhotoPeer::ARTIST_ID, ArtistPeer::ARTIST_ID, Criteria::LEFT_JOIN);
}
$criteria->add(ArtistPeer::GENRE, $genre);    
$criteria->add(PhotoPeer::GENRE, $genre);

2. join two tables, add AND OR between conditions
purpose:
generate sql like:    

select * from photo p
    left join artist a on p.artist_id = a.artist_id
      where (a.genre = 'some' or p.genre='something')
        and a.name = 'something'

code:   

if(!CriteriaUtil::hasJoin($criteria, ArtistPeer::TABLE_NAME)){
   $criteria->addJoin(PhotoPeer::ARTIST_ID, ArtistPeer::ARTIST_ID, Criteria::LEFT_JOIN);
}
$criteria->add(ArtistPeer::GENRE, $genre);
$c = $criteria->getCriterion(ArtistPeer::GENRE);
if($c != null){
   $c->addOr($criteria->getNewCriterion(PhotoPeer::GENRE, $genre));
}
$criteria->add(ArtistPeer::NAME, $name);

 

Note:
It's a good habit to check if we have joined the table already. to check this, you can use the following util class, it get all the joined tables, and check if the table exists in them.

class CriteriaUtil{
    public static function hasJoin($c, $table_name){
        $joins = $c->getJoins();
        if($joins != null){
            foreach($joins as $join){
                if($join->getRightTableName() == $table_name){
                    return true;
                }
                if($join->getLeftTableName() == $table_name){
                    return true;
                }
            }
        }
        return false;
    }
}


wade 2007-12-05 17:26 鍙戣〃璇勮
]]>
How To: Clear cache for symfonyhttp://m.tkk7.com/programmer/archive/2007/11/13/165571.htmlwadewadeTue, 13 Nov 2007 09:23:00 GMThttp://m.tkk7.com/programmer/archive/2007/11/13/165571.htmlhttp://m.tkk7.com/programmer/comments/165571.htmlhttp://m.tkk7.com/programmer/archive/2007/11/13/165571.html#Feedback0http://m.tkk7.com/programmer/comments/commentRss/165571.htmlhttp://m.tkk7.com/programmer/services/trackbacks/165571.htmlOriginal article: http://www.symfony-project.com/book/1_0/18-Performance

Clearing Selective Parts of the Cache

During application development, you have to clear the cache in various situations:

  • When you create a new class: Adding a class to an autoloading directory (one of the project's lib/ folders) is not enough to have symfony find it automatically. You must clear the autoloading configuration cache so that symfony browses again all the directories of the autoload.yml file and references the location of autoloadable classes--including the new ones.
  • When you change the configuration in production: The configuration is parsed only during the first request in production. Further requests use the cached version instead. So a change in the configuration in the production environment (or any environment where SF_DEBUG is turned off) doesn't take effect until you clear the cached version of the file.
  • When you modify a template in an environment where the template cache is enabled: The valid cached templates are always used instead of existing templates in production, so a template change is ignored until the template cache is cleared or outdated.
  • When you update an application with the sync command: This case usually covers the three previous modifications.

The problem with clearing the whole cache is that the next request will take quite long to process, because the configuration cache needs to be regenerated. Besides, the templates that were not modified will be cleared from the cache as well, losing the benefit of previous requests.

That means it's a good idea to clear only the cache files that really need to be regenerated. Use the options of the clear-cache task to define a subset of cache files to clear, as demonstrated in Listing 18-14.

Listing 18-14 - Clearing Only Selective Parts of the Cache

// Clear only the cache of the myapp application
> symfony clear-cache myapp

// Clear only the HTML cache of the myapp application
> symfony clear-cache myapp template

// Clear only the configuration cache of the myapp application
> symfony clear-cache myapp config

You can also remove files by hand in the cache/ directory, or clear template cache files selectively from the action with the $cacheManager->remove() method, as described inChapter 12

 

Note:

1. We can use $cacheManager->remove() to clear cache after we deployed a new version product.

2. write code to generate models from database, and then call $cacheManager->remove() to clear cache.


 


wade 2007-11-13 17:23 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲国产天堂久久综合| 久久99国产亚洲精品观看| 一个人免费播放在线视频看片| 亚洲国产精品VA在线观看麻豆| 91高清免费国产自产| 国产成人人综合亚洲欧美丁香花 | 国产一精品一aⅴ一免费| 中国在线观看免费的www| 亚洲沟沟美女亚洲沟沟| 精品久久久久久久免费加勒比| 成人免费ā片在线观看| 国产精品亚洲综合五月天| 亚洲AⅤ视频一区二区三区| 色欲国产麻豆一精品一AV一免费 | 很黄很黄的网站免费的| 香蕉视频免费在线| 亚洲麻豆精品果冻传媒| 亚洲高清成人一区二区三区 | 亚洲尹人九九大色香蕉网站| mm1313亚洲国产精品美女| 亚洲视频在线观看免费视频| 国产精品偷伦视频免费观看了| 中文字幕在线观看亚洲视频| 亚洲精品国产精品乱码在线观看| 女人被男人躁的女爽免费视频 | 日韩一级视频免费观看| 99视频精品全部免费观看| 黄人成a动漫片免费网站| 亚洲av永久无码精品天堂久久 | 日韩a级毛片免费视频| 在线人成精品免费视频| 丁香花在线观看免费观看图片| 亚洲欧美成人av在线观看| 亚洲第一二三四区| 国产成人亚洲精品青草天美| 四虎国产精品免费视| 好吊妞998视频免费观看在线| AV无码免费永久在线观看| 日本一卡精品视频免费| 好久久免费视频高清| a级毛片免费网站|