2017-03-02 11 views
0

こんにちは、私は手動で私はlaravelのDBクラスを使用すると、私はエラーの列名

ようにそれを行うと、誰も iがlaravelのDBクラス

$arr = ['onoma', 'epitheto']; 

    $data = "'".implode("', '", $arr) . "'"; 

    $content = DB::table($name)->pluck($data); 

といくつかの問題を抱えていますが見つからない取得

$content = DB::table($name)->pluck('onoma','epitheto'); 

すべて正常です。 'フィールド リスト' に1054不明な列 '' onoma ' 'epitheto'':しかしimplode()機能を私は

列が見つからないこのエラーが発生します(SQL:xristerから'onoma', 'epitheto'を選択)

+0

は一度試す1つの引数 '$データ= " '" .implode( " ''"、$のARRは)。 "'";' –

+0

が再度同じエラーを取得イムすべてのスペースを削除します '列が見つかりません:1054不明な列' onoma '、'フィールドリスト 'の' epitheto '(SQL: 'onoma'、' xsister'の 'epitheto''を選択してください) – Eth0

+0

すべてのスペースを削除しましたか? –

答えて

1

その後、

$arr = ['onoma', 'epitheto']; 

$content = DB::table($name)->pluck(...$arr); 

ていない場合は、あなたが行うことができます:

あなたがPHP 5.6 +を使用しているなら、あなたは splat演算子を使用することができます
$arr = ['onoma', 'epitheto']; 

$content = call_user_func_array([ DB::table($name), 'pluck' ], $arr); 
+0

ありがとうございましたsplat演算子で動作します – Eth0

3

正常に動作する例では、2つの引数をそのメソッド呼び出しに渡しています。

pluck($column, $key) 2つの別々の引数

pluck('column', 'key') 2あなたは1つの引数として単一の文字列を渡している動作しないもので、別の文字列

。何らかの理由でに'onoma','epitheto'という名前の単一列を使用するように指示しています。

pluck("'onoma', 'epitheto'") 1列、

関連する問題