多態性の関係を保持するテーブルをクエリすることで、Laravelで基本クエリを実行しようとしています。テーブルには、App\MedicationError
とApp\PressureUlcer
などの値を保持するrecord_type
という列があります。PHP文字列の最後にバックスラッシュを追加する
`Action::where('record_type','App\MedicationError')`
私はMedicationError
とPressureUlcer
などの文字列を含む変数のセットを持っている:
は、私がこれに似たクエリを実行します。
App\
でこれらの文字列にプレフィックスを付けるにはどうすればよいですか?
自分自身が難しい理由は、'App'
文字列の末尾にバックスラッシュを追加する方法を考え出すことができないためです。これは現時点で私が試みていることです:
$type = 'App\\ '.studly_case($record->type);
しかし、それはApp\\ RiskAssessmentUpdate
を返します。最後から空白を削除すると、明らかにバックスラッシュが一重引用符をエスケープします。 trim('App\\ ')
も役に立ちません。
私は本当に明白な(正規表現?)解決策がここにないように感じます。どんな助けもありがとう。
ダブルスラッシュを使用すると、最初のスラッシュが2番目のスラッシュをエスケープするので、 'App \\'はApp \を生成します。 –
スラッシュが二重引用符で囲まれている場合は、スラッシュをエスケープする必要があります。つまり、スラッシュを一重引用符で囲んだ場合などは不要です。 '' \ '' – apokryfos
@apokryfos - au contraire、一重引用符でも、特定の文字をエスケープする必要があります。 '' \ 'はそれらの[PHP Docs](http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single)の一つです...一重引用符で囲まれた文字列の中の一重引用符( '' ')は、エスケープする必要がある別の文字です。 –