select * from table where userid=parentid and age>30 のようなクエリを記述するにはどうすればよいですか?この使用法はドキュメントには見つかりませんでした。
仅有的幸福2017-05-16 16:54:34
@ty0716 が標準的な回答です。
付け加えておきますが、なぜこのようなことが起こっているのでしょうか。
あなたの要件は、whereの右辺値としてparentidを参照する必要があることです。ただし、laravelでは、whereの右辺値はSQLにすることはできず、文字列、値、時間などの通常のデータ構造のみにすることができます。 SQL インジェクションを防ぐため、フィールド名 (users.id
) や SQL 関数を使用することはできません。
したがって、ネイティブ SQL を実行するには、@ty0716 が言及した raw メソッドのみを使用できます。