2016-08-23 10 views
1

私は2つのテーブルを持っています。まずテーブル - 申し出:offer_info2つのテーブルから選択してスラッグを生成します。アクティブレコード - Codeigniter 3

| offer_id | slug | user_id |

とテーブル:

|offer_id | name | info_text |

私が欲しいものは、ユニークなスラグを作成することです。これは最初に無限ループでメソッドを作成し、両方のテーブルからすべての行を選択する必要があります。がoffers.slugと等しいか、または名前がoffers.slugに等しいが、offer_id$offer_idと等しくない場合、行、ループ

public function create_slug($offer_id, $name){ 

$count = 1; 
while (true){ 
    // QUERIES 

    if($query->num_rows()){ 
     $name = $name . '-' . $count; //qwerty-1 
     $count++; 
    } else { 
     break; 
    } 
} 

return $name; 
} 

が、アクティブレコードでリクエストを作成する方法:もう一度はいあれば、$name . '-' . 1に確認し、カウンターには結果/行がない場合はユニークスラッグを破ると戻り、2、などありますか?

+0

実際に何をしようとしていますか?なぜあなたはどんな種類のスラグを必要としますか?あなたはSELECTクエリを記述しているようですか、何か不足していますか? – RGriffiths

答えて

1

あなたはcodeignignerのurl_title($str, $separator = '-', $lowercase = FALSE) メソッドを使用できます。それは文字列を取り、それを人間が読めるURLに変換します。たとえば

$title = "What's wrong with CSS?"; 
    $url_title = url_title($title, 'underscore'); 
    // Produces: Whats_wrong_with_CSS 

詳細はdocumentationをご覧ください。この機能を使用するには、$this->load->helper('url');を使用する必要があります。

関連する問題