MySQLデータベースから既存のデータを、ルビーコマンドにエクスポートしようとしています。rake db:seed
で実行できます。PHPでsprintfを使用するときに改行記号を追加する
ここに私のコードです。
# Generate db:seed data for proveedores.
$proveedores = R::findAll('tbproveedores');
$proveedoresE = R::exportAll($proveedores);
foreach ($proveedoresE as &$p) {
$line = 'BookSupplier.create(company: "%s", city: "%s", country: "%s", address: "%s", telephone: "%s", contact: "%s", email: "%s", website: "%s"\n';
$exportedLine = sprintf($line, $p['empresa'], $p['ciudad'], $p['pais'], $p['direccion'], $p['telefono'], $p['personacontacto'], $p['email'], $p['website']);
var_dump($exportedLine);
fwrite($seeds, $exportedLine);
echo "<br />";
}
$ line変数の末尾に\n
改行記号があることに注目してください。私はそれが改行を使うために必要なことすべてをオンラインで読んだ。私は私の改行挿入後、それ自身の行になるように各呼び出しを希望
BookSupplier.create(company: "Pearson", city: "Lima", country: "Peru", address: "Av. Limon", telephone: "4673535421", contact: "Javier", email: "", website: ""\nBookSupplier.create(company: "Project Management Institute - PMI", city: "Pennsylvania", country: "Estados Unidos", address: "Newtown Square, Pennsylvania", telephone: "1", contact: "Limberg Morales", email: "", website: "http://www.pmi.org/"\nBookSupplier.create(company: "UVirtual - Centro de Excelencia", city: "Santa Cruz", country: "Bolivia", address: "Av. Irala 585", telephone: "1", contact: "Limberg Morales", email: "", website: ""\nBookSupplier.create(company: "Ábaco de Rodolfo Depalma", city: "Buenos Aires", country: "Argentina", address: "Viamonte 1336, 4° (C1053 ACB) Buenos Aires", telephone: "5411-43711675", contact: "Limberg Morales", email: "", website: "http://www.abacoeditorial.com.ar/"\nBookSupplier.create(company: "Pablo Lledó - ProjectManagement", city: "Canadá", country: "Estados Unidos", address: "Victoria, BC, Canadá", telephone: "1", contact: "Limberg Morales", email: "", website: ""\n
:
私のコードの出力は、上記(vertabim、長いライン)です。私が間違っていることに関する提案はありますか?
文字列構文が正しくありません([so]の構文の強調表示のために表示されます)。文字列の中の二重引用符*をエスケープする必要があります。 – Veger
速かったです。それを編集しました。私は彼がバールからデータをマークアウトするために単に引用符を使用したと仮定しているので、それらを一重引用符に変更しました(二重引用符をエスケープすることも別の可能性です)。 –