2017-11-08 9 views
-1

データベースから結果を得るのにこれを使用していますが、レコードは1つに制限されています。データベースコーディネーターに制限を設定する方法

私は何か制限はありません。私はそれを削除しようとしたが、それは動作しません。

$this->db->from('links'); 
$this->db->where('uniq', $nnn[0]->uniq); 
$this->db->limit(1); 
$q = $this->db->get(); 
$nnn[0]->linkos=$q->result()[0]; 
return $nnn; 
+3

を行うことを、何が(1)どうなりますか? –

+0

仕事をしない、私はそれが何も影響を与えないことを意味します。 –

+1

SQLクエリを印刷して、最終的なクエリが生成されているかどうかを確認してください。 https://stackoverflow.com/questions/6142099/how-to-print-sql-statement-in-codeigniter-model –

答えて

1
  • CodeIgniterの中$q->result()方法は、[0]を追加は、オブジェクト(配列としてあなたの結果セットを返すために$ Q-> result_arrayを()を使用してみてください)
  • を返します。 $ q-> result()メソッドは、結果セット(オブジェクトまたは配列)を最初の項目のみに限定しているように思えます。

したがって、が出たまま[0]部分は、私はあなたのケースにしようと最初のステップのように思える:

$nnn[0]->linkos=$q->result(); 

サイドステップ:

  • $this->db->query("SELECT * FROM table WHERE...")への使用を検討してください結果セットを取得します。実際のクエリを実行して行を取得することをより詳細に制御できます。また、デバッグに苦労します。
  • また、明示的にコード内でSQL文を入れて、またメリット:
    • コードの移植
    • 同僚や他の開発者がいくつかの日を引き継ぐために必要がある場合があります、と経験の同じレベルを共有していないが`;この行`ます$ this-> DB->制限を削除した場合のCodeIgniterであなたが
+0

にあなたのデータを得ることができます。それは1つだけのデータを取得し、それを削除した後、データを取得していないと私は複雑なシステムを使用している場合は、すべての変更が必要なので、私はこのコードonyの任意の修正を与えることができますbe greater –

+0

あなたのユースケースをもう少し説明してください。開始の状況は何ですか?なぜあなたはデータベースを照会しなければならないのですか?結果で何を達成しようとしていますか?また、テーブル用のDDLもいいでしょう。 – RvT

+0

コード私は私に1行、私は傾けることができない他の行の結果を与える使用しています。今の主なものは、uniueを介して2つの異なるものに接続することです、uniqはデータとの関係として働きます(平均uniqは両方で同じです)。 –

関連する問題