前スレ
フランチョスとsymfony
http://pc11.2ch.net/test/read.cgi/php/1201177567/
1.x系公式
http://www.symfony-project.org/
symfony reloaded(2.0) まだプレビュー版
http://symfony-reloaded.org/
symfony PHPフレームワークpart2
2010/03/17(水) 00:34:44ID:???
238nobodyさん
2010/10/16(土) 17:14:44ID:JUO6sOS6 フォームで、ユーザーに改ざんされたくない値を扱う方法で質問です。
formで隠したいパラメータ(from_id)をunsetしておいて、アクションで
> $message = new Message();
> $message['from_id'] = $this->getUser()->getAttribute('id');
> $form = new MessageForm($message);
とやる方法と、
formでunsetせずに
> $values = $this->getUser()->getAttribute($form->getName());
> $values['from_id'] = $this->getUser()->getAttribute('id');
> $form = $this->processForm($form, $values);
と上書きする方法の2通りがあると思うのですが、
どちらも安全でしょうか?
それとも、他に方法があるんでしょうか?
formで隠したいパラメータ(from_id)をunsetしておいて、アクションで
> $message = new Message();
> $message['from_id'] = $this->getUser()->getAttribute('id');
> $form = new MessageForm($message);
とやる方法と、
formでunsetせずに
> $values = $this->getUser()->getAttribute($form->getName());
> $values['from_id'] = $this->getUser()->getAttribute('id');
> $form = $this->processForm($form, $values);
と上書きする方法の2通りがあると思うのですが、
どちらも安全でしょうか?
それとも、他に方法があるんでしょうか?
239nobodyさん
2010/10/16(土) 20:04:03ID:JUO6sOS6 セッションがタイムアウトして、AuthenticatedとCredencialがクリアされたのに、
$this->getUser()->setAttribute()した値が残ってるのですが、
これって普通ですか?
$this->getUser()->setAttribute()した値が残ってるのですが、
これって普通ですか?
241nobodyさん
2010/10/18(月) 18:54:39ID:3g1bUgIr DoctrineでのInnnerJoinの書き方で苦戦しています(汗
下記のSQL文でコマンドラインでは動いてるんですが、
どのように記述すればよいのでしょうか?
SELECT w.target_user_id as user_id, DATE_FORMAT(w.created_at,"%Y-%m-%d") as days,w.type as type,count(*) as num FROM warn w
INNER JOIN (
SELECT target_user_id,count(*) AS datas
FROM warn GROUP BY target_user_id
) AS SUB USING(target_user_id)
GROUP BY user_id,days,type
ORDER BY datas DESC ,user_id ASC,days ASC,type ASC;
下記のSQL文でコマンドラインでは動いてるんですが、
どのように記述すればよいのでしょうか?
SELECT w.target_user_id as user_id, DATE_FORMAT(w.created_at,"%Y-%m-%d") as days,w.type as type,count(*) as num FROM warn w
INNER JOIN (
SELECT target_user_id,count(*) AS datas
FROM warn GROUP BY target_user_id
) AS SUB USING(target_user_id)
GROUP BY user_id,days,type
ORDER BY datas DESC ,user_id ASC,days ASC,type ASC;
242nobodyさん
2010/10/19(火) 02:27:53ID:0CIYXc+U ユーザー情報を持つUserAccountテーブルと、そのIDをカラムに持つBlogテーブルをリレーションさせておくと、
フォームの作成で下記のようなファイルが生成されます。
これが、ユーザー数が多くて、かつuser_idをunset()して使うケースではかなり無駄な気がします。
手作業でsetup()を上書きして、widgetをsfWidgetFormInputText、
validatorをsfValidatorIntegerに変える、という感じに書き換えたいのですが、
スキーマのオプションとかでsfWidgetFormDoctrineChoice()&$this->getRelatedModelName()を
使わないようにはできないんでしょうか?
$this->getRelatedModelName()の呼び出しは1回で済むはずなのに無駄なコードだし。。。
ユーザーが1万人になったら、フォームの表示のたびに2万件のレコード引っ張ってくるつもり?
abstract class BaseBlogForm extends BaseFormDoctrine
{
public function setup()
{
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'user_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('UserAccount'), 'add_empty' => false)),
));
$this->setValidators(array(
'id' => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)),
'user_id' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('UserAccount'))),
));
フォームの作成で下記のようなファイルが生成されます。
これが、ユーザー数が多くて、かつuser_idをunset()して使うケースではかなり無駄な気がします。
手作業でsetup()を上書きして、widgetをsfWidgetFormInputText、
validatorをsfValidatorIntegerに変える、という感じに書き換えたいのですが、
スキーマのオプションとかでsfWidgetFormDoctrineChoice()&$this->getRelatedModelName()を
使わないようにはできないんでしょうか?
$this->getRelatedModelName()の呼び出しは1回で済むはずなのに無駄なコードだし。。。
ユーザーが1万人になったら、フォームの表示のたびに2万件のレコード引っ張ってくるつもり?
abstract class BaseBlogForm extends BaseFormDoctrine
{
public function setup()
{
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'user_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('UserAccount'), 'add_empty' => false)),
));
$this->setValidators(array(
'id' => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)),
'user_id' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('UserAccount'))),
));
243nobodyさん
2010/10/19(火) 21:06:26ID:0CIYXc+U sfWidgetFormDoctrineChoice::getChoices()
が呼ばれるのはrender()の時だけ?
大ポカだった。
が呼ばれるのはrender()の時だけ?
大ポカだった。
244nobodyさん
2010/10/20(水) 16:50:03ID:mJZvzEer sfGuardPluginを使わずに、自分でログインページを作ったのですが、
is_secure:true にした場合にログインページにforwardしてくれるのはいいのですが
認証成功後にforwardする前のページにredirectするにはどうすればいいでしょうか?
is_secure:true にした場合にログインページにforwardしてくれるのはいいのですが
認証成功後にforwardする前のページにredirectするにはどうすればいいでしょうか?
245239
2010/10/21(木) 01:56:28ID:??? 認証情報はセッションに入ってるものだと思ってました。
認証情報はどこに保存されているんでしょう??
認証情報はどこに保存されているんでしょう??
246nobodyさん
2010/11/04(木) 18:06:43ID:kCotlNfK ファイルアップロードで、ファイル名の「'」が「\'」になるんですけど
これってSymfonyの問題ですか?
PHPも初心者なもんでどうすればいいのか分かりません。。。
これってSymfonyの問題ですか?
PHPも初心者なもんでどうすればいいのか分かりません。。。
247nobodyさん
2010/11/06(土) 13:24:52ID:??? 問題があるとしたらファイル名に「'」を使ってることかな
248nobodyさん
2010/11/07(日) 05:37:42ID:??? php初心者というかパソコン初心者レベルだな
249nobodyさん
2010/11/08(月) 03:03:57ID:??? セッション(認証?)が30分程度で切れてしまいます。
以下の設定だけでは、変更できないんでしょうか?
#.htaccess
php_value session.gc_maxlifetime 86400
php_value session.gc_probability 1
php_value session.gc_divisor 100
#setting.yml
all:
user:
class: myUser
param:
timeout: 86400
以下の設定だけでは、変更できないんでしょうか?
#.htaccess
php_value session.gc_maxlifetime 86400
php_value session.gc_probability 1
php_value session.gc_divisor 100
#setting.yml
all:
user:
class: myUser
param:
timeout: 86400
250nobodyさん
2010/11/08(月) 20:05:11ID:??? factories.ymlに書くんだと思う
user:
class: myUser
param:
timeout: 86400
こんな感じ
user:
class: myUser
param:
timeout: 86400
こんな感じ
251nobodyさん
2010/11/09(火) 20:43:10ID:??? さんくす!
252nobodyさん
2010/11/13(土) 05:16:41ID:??? sfDoctrineGuardPlugin使ってます。
バックエンドで、is_super_adminなアカウントだけ閲覧を許可していんですけど
以下のsecurity.ymlでうまくいきません。クレデンシャルが違うんでしょうか?
index:
is_secure: true
credentials: admin
それと、新規登録時に
Notice: Undefined offset: 1 in D:\MyProject\symfony\lib\vendor\symfony\lib\config\sfGeneratorConfigHandler.class.php on line 68
という謎のエラーが出てしまいます。
sfGuardAuthに空のgenerator.ymlを作ると治るという情報があったのですが
治りませんでした。他に解決方法はありませんでしょうか?
バックエンドで、is_super_adminなアカウントだけ閲覧を許可していんですけど
以下のsecurity.ymlでうまくいきません。クレデンシャルが違うんでしょうか?
index:
is_secure: true
credentials: admin
それと、新規登録時に
Notice: Undefined offset: 1 in D:\MyProject\symfony\lib\vendor\symfony\lib\config\sfGeneratorConfigHandler.class.php on line 68
という謎のエラーが出てしまいます。
sfGuardAuthに空のgenerator.ymlを作ると治るという情報があったのですが
治りませんでした。他に解決方法はありませんでしょうか?
253nobodyさん
2010/11/13(土) 07:15:40ID:???254252
2010/11/13(土) 21:33:07ID:??? 「Notice: Undefined offset: 1」のエラーのほうは、
http://www.symfony-project.org/blog/2008/11/12/call-the-expert-customizing-sfdoctrineguardplugin
を参考にしたAPP/congig/generator.ymlの変更をやめて、
中身を全部削除したらうまくいったみたい。
http://www.symfony-project.org/blog/2008/11/12/call-the-expert-customizing-sfdoctrineguardplugin
を参考にしたAPP/congig/generator.ymlの変更をやめて、
中身を全部削除したらうまくいったみたい。
255nobodyさん
2010/11/14(日) 02:59:13ID:??? 日別のアクセス数を集計しようとしてるのですが、正常にうごきません。
日付の比較がおかしくなっている感じがします。
スキーマはこんな感じです。
AccessLog:
tableName: access_log
actAs: { Timestampable: ~ }
columns:
user_id: varchar(50)
日付の比較がおかしくなっている感じがします。
スキーマはこんな感じです。
AccessLog:
tableName: access_log
actAs: { Timestampable: ~ }
columns:
user_id: varchar(50)
256nobodyさん
2010/11/14(日) 03:01:31ID:??? コードと同等(と思っている)のSQLをMySqlコマンドラインから実行すると、正常にいきます。
SELECT a.id, a.user_id, COUNT(*), DATE(a.created_at) AS date
FROM access_log a
WHERE (a.user_id = 'admin' AND a.created_at > '2010-11-01 00:00:00' AND a.created_at < '2010-11-29 23:59:59')
GROUP BY date ORDER BY a.created_at;
「->andWhere('a.created_at < ?',$end)」の行を抜かすと一応取得はできます。
原因はなんでしょうか?
$id = 'admin';
$start = "'2011-11-01 00:00:00'";
$end ="'2011-11-30 23:59:59'";
$this->accesslogs = Doctrine_Query::create()
->select('a.user_id, count(*) as count, DATE(a.created_at) as date')
->from('accesslog as a')
->where('a.user_id = ?',$id)
->andWhere('a.created_at > ?',$start)
->andWhere('a.created_at < ?',$end)
->groupBy('date')
->orderBy('a.created_at')
->execute();
SELECT a.id, a.user_id, COUNT(*), DATE(a.created_at) AS date
FROM access_log a
WHERE (a.user_id = 'admin' AND a.created_at > '2010-11-01 00:00:00' AND a.created_at < '2010-11-29 23:59:59')
GROUP BY date ORDER BY a.created_at;
「->andWhere('a.created_at < ?',$end)」の行を抜かすと一応取得はできます。
原因はなんでしょうか?
$id = 'admin';
$start = "'2011-11-01 00:00:00'";
$end ="'2011-11-30 23:59:59'";
$this->accesslogs = Doctrine_Query::create()
->select('a.user_id, count(*) as count, DATE(a.created_at) as date')
->from('accesslog as a')
->where('a.user_id = ?',$id)
->andWhere('a.created_at > ?',$start)
->andWhere('a.created_at < ?',$end)
->groupBy('date')
->orderBy('a.created_at')
->execute();
257nobodyさん
2010/11/14(日) 03:04:05ID:??? ついでにfixture.ymlも書いておきます。
AccessLog:
log1:
user_id: admin
created_at: '2010-11-13 21:56:54'
log2:
user_id: admin
created_at: '2010-11-13 21:56:54'
log3:
user_id: admin
created_at: '2010-11-14 21:56:54'
log4:
user_id: admin
created_at: '2010-11-14 21:56:54'
log5:
user_id: admin
created_at: '2010-11-15 21:56:54'
AccessLog:
log1:
user_id: admin
created_at: '2010-11-13 21:56:54'
log2:
user_id: admin
created_at: '2010-11-13 21:56:54'
log3:
user_id: admin
created_at: '2010-11-14 21:56:54'
log4:
user_id: admin
created_at: '2010-11-14 21:56:54'
log5:
user_id: admin
created_at: '2010-11-15 21:56:54'
258nobodyさん
2010/11/14(日) 19:32:35ID:??? (たぶん)解決しました。
->from('accesslog as a')
じゃなくて
->from('accesslog a')
に変えると期待通りに動きました^^;
夜中3時間悩んだのに、昼に起きて5分で解決しました。
休憩や睡眠って大事ですね。みなさんもがんばってください。
なんで$endの行が無いときにうまくいったかは謎のままですが。。。
->from('accesslog as a')
じゃなくて
->from('accesslog a')
に変えると期待通りに動きました^^;
夜中3時間悩んだのに、昼に起きて5分で解決しました。
休憩や睡眠って大事ですね。みなさんもがんばってください。
なんで$endの行が無いときにうまくいったかは謎のままですが。。。
259nobodyさん
2010/11/14(日) 23:36:38ID:??? sfDoctrineGuardPluginって使ってる人いる??
symfony慣れてないくせして導入してみたんだけど、symfonyとバージョン合ってないのかな?
sfGuardRememberMeFilterが機能してない気がする。
settings.ymlで
enabled_modules: [default, sfGuardGroup, sfGuardUser, sfGuardPermission, sfGuardAuth, sfGuardForgotPassword]
を記述しても、バックエンドに追加されてない。
sfGuardUserは手動でバックエンドに追加できるけど、sfGuardPermissionは足りないファイルがたんまり。ネットで拾ってきてもまともに動かない。
あと、save-fixtureしてリロードすると、パスワードがハッシュされてログインできなくなる。
このあたり、どうにかなりませんか?
symfony慣れてないくせして導入してみたんだけど、symfonyとバージョン合ってないのかな?
sfGuardRememberMeFilterが機能してない気がする。
settings.ymlで
enabled_modules: [default, sfGuardGroup, sfGuardUser, sfGuardPermission, sfGuardAuth, sfGuardForgotPassword]
を記述しても、バックエンドに追加されてない。
sfGuardUserは手動でバックエンドに追加できるけど、sfGuardPermissionは足りないファイルがたんまり。ネットで拾ってきてもまともに動かない。
あと、save-fixtureしてリロードすると、パスワードがハッシュされてログインできなくなる。
このあたり、どうにかなりませんか?
260nobodyさん
2010/11/15(月) 21:25:47ID:WH+q5o59 こうゆう複雑なSQLはDoctrineでできますか?
Doctrineは単純なSQLだけで、複雑な合成はPHPでやったほうがいいのかな。
SELECT u.id as u__id,
u.username as u__username,
s.date as s__date,
a.access as a__access,
s.sales as s__sales
FROM sf_guard_user u
LEFT OUTER JOIN
(SELECT user_id,
DATE(created_at) AS date,
SUM(amount) AS sales
FROM sales
GROUP BY user_id, DATE(created_at)) s
ON u.username = s.user_id
LEFT OUTER JOIN
(SELECT user_id,
DATE(created_at) AS date,
count(*) AS access
FROM access_log
GROUP BY user_id, DATE(created_at)) a
ON u.username = a.user_id
AND s.date = a.date
WHERE u.username = 'admin'
AND s.date > '2010-11-01 00:00:00'
AND s.date < '2010-12-01 00:00:00'
ORDER BY s.date;
Doctrineは単純なSQLだけで、複雑な合成はPHPでやったほうがいいのかな。
SELECT u.id as u__id,
u.username as u__username,
s.date as s__date,
a.access as a__access,
s.sales as s__sales
FROM sf_guard_user u
LEFT OUTER JOIN
(SELECT user_id,
DATE(created_at) AS date,
SUM(amount) AS sales
FROM sales
GROUP BY user_id, DATE(created_at)) s
ON u.username = s.user_id
LEFT OUTER JOIN
(SELECT user_id,
DATE(created_at) AS date,
count(*) AS access
FROM access_log
GROUP BY user_id, DATE(created_at)) a
ON u.username = a.user_id
AND s.date = a.date
WHERE u.username = 'admin'
AND s.date > '2010-11-01 00:00:00'
AND s.date < '2010-12-01 00:00:00'
ORDER BY s.date;
261nobodyさん
2010/11/15(月) 23:40:15ID:??? これ、どうゆう意味ですか?
> 500 | Internal Server Error | Doctrine_Query_Exception
> The root class of the query (alias s) must have at least one field selected.
ユーザー毎の売上げを集計したいだけなんだけど。。。
#action.php
public function executeSalelist(sfWebRequest $request)
{
$this->saless = Doctrine_Query::create()
->select('s.user_id as id, p.name, sum(s.amount) as amount')
->from('Sales s')
->leftJoin('s.Profile p')
->groupBy('id')
->execute();
}
> 500 | Internal Server Error | Doctrine_Query_Exception
> The root class of the query (alias s) must have at least one field selected.
ユーザー毎の売上げを集計したいだけなんだけど。。。
#action.php
public function executeSalelist(sfWebRequest $request)
{
$this->saless = Doctrine_Query::create()
->select('s.user_id as id, p.name, sum(s.amount) as amount')
->from('Sales s')
->leftJoin('s.Profile p')
->groupBy('id')
->execute();
}
262261
2010/11/15(月) 23:41:34ID:??? #schema.yml
Sales:
tableName: sales
actAs: { Timestampable: ~ }
columns:
user_id:
type: integer
amount: integer
relations:
User:
class: sfGuardUser
foreign: id
local: user_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Sales
Profile:
class: sfGuardUserProfile
foreign: user_id
local: user_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Sales
Sales:
tableName: sales
actAs: { Timestampable: ~ }
columns:
user_id:
type: integer
amount: integer
relations:
User:
class: sfGuardUser
foreign: id
local: user_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Sales
Profile:
class: sfGuardUserProfile
foreign: user_id
local: user_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Sales
263nobodyさん
2010/11/16(火) 03:02:08ID:??? sfGuardPluginついでに。
> $this->setWidget('user_id', new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('User'))));
フォームのプルダウンでuser_id=0のアカウントを選択してポストすると、
user_id=1として格納されてしまいます。
なんで〜??
> $this->setWidget('user_id', new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('User'))));
フォームのプルダウンでuser_id=0のアカウントを選択してポストすると、
user_id=1として格納されてしまいます。
なんで〜??
264nobodyさん
2010/11/16(火) 03:53:30ID:??? user_idをauto_incrimentにしてない?
265261
2010/11/16(火) 13:36:35ID:??? selectからp.nameをとるととりあえずいける。
Profileがおかしいのかな?
Sales:
tableName: sales
actAs: { Timestampable: ~ }
columns:
user_id:
type: integer
amount: integer
relations:
User:
class: sfGuardUser
foreign: id
local: use_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Sales
Profile:
class: sfGuardUserProfile
foreign: user_id
local: user_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Profile
Profileがおかしいのかな?
Sales:
tableName: sales
actAs: { Timestampable: ~ }
columns:
user_id:
type: integer
amount: integer
relations:
User:
class: sfGuardUser
foreign: id
local: use_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Sales
Profile:
class: sfGuardUserProfile
foreign: user_id
local: user_id
type: many
onDelete: cascade
foreignType: many
foreignAlias: Profile
266261
2010/11/16(火) 13:38:26ID:??? sfGuardUserProfile:
tableName: sf_guard_user_profile
actAs: { Timestampable: ~ }
columns:
id: integer
user_id:
type: integer
primary: true
bank_name: varchar(50)
bank_point: varchar(50)
bank_type:
type: enum
values: [ordinary, current]
default: ordinary
name: varchar(50)
bank_number: varchar(50)
relations:
User:
class: sfGuardUser
foreign: id
local: user_id
type: one
onDelete: cascade
foreignType: one
foreignAlias: Profile
tableName: sf_guard_user_profile
actAs: { Timestampable: ~ }
columns:
id: integer
user_id:
type: integer
primary: true
bank_name: varchar(50)
bank_point: varchar(50)
bank_type:
type: enum
values: [ordinary, current]
default: ordinary
name: varchar(50)
bank_number: varchar(50)
relations:
User:
class: sfGuardUser
foreign: id
local: user_id
type: one
onDelete: cascade
foreignType: one
foreignAlias: Profile
267nobodyさん
2010/11/16(火) 21:13:48ID:??? フォーム難しいですね。。。
スキーマでは user_id(type:integer) にリレーションしてるんだけど、
フォームでは user_name(type:varchar(255)) で入力したい場合はどうすればいいですか?
スキーマでは user_id(type:integer) にリレーションしてるんだけど、
フォームでは user_name(type:varchar(255)) で入力したい場合はどうすればいいですか?
268267
2010/11/16(火) 21:27:44ID:??? Newのときは下記コードでうまく「ユーザー名入力→ユーザーIDに変換」できるようになったんですが、
Editのとき編集フォームがuser_idのままです。。。
public function configure()
{
$this->widgetSchema['user_id'] = new sfWidgetFormInputText();
$this->setValidator('user_id', new sfValidatorString(array('max_length' => 128, 'required' => true)));
$this->validatorSchema->setPostValidator(new sfValidatorCallback(
array(
'callback' => array($this, 'validateUsername'),
),
array(
'invalid' => 'アカウント名を正しく入力してください。',
)
));
}
Editのとき編集フォームがuser_idのままです。。。
public function configure()
{
$this->widgetSchema['user_id'] = new sfWidgetFormInputText();
$this->setValidator('user_id', new sfValidatorString(array('max_length' => 128, 'required' => true)));
$this->validatorSchema->setPostValidator(new sfValidatorCallback(
array(
'callback' => array($this, 'validateUsername'),
),
array(
'invalid' => 'アカウント名を正しく入力してください。',
)
));
}
269267
2010/11/16(火) 21:31:08ID:??? public function validateUsername(sfValidatorBase $validator, $values)
{
if (strlen($values['user_id']))
{
$user = Doctrine_Core::getTable('User')->findOneByUsername($values['user_id']);
if (!$user)
{
throw new sfValidatorError($validator, 'invalid');
}
$values['user_id'] = $user->getId();
}
return $values;
}
}
{
if (strlen($values['user_id']))
{
$user = Doctrine_Core::getTable('User')->findOneByUsername($values['user_id']);
if (!$user)
{
throw new sfValidatorError($validator, 'invalid');
}
$values['user_id'] = $user->getId();
}
return $values;
}
}
270267
2010/11/16(火) 22:50:03ID:??? コンストラクタ上書きでできたけど、上記含めてお作法的にこれでいいんかな。。。
271267
2010/11/16(火) 23:45:05ID:??? このスレにはお世話になってるし、
だれかの役に立つかもしれないから、動いたコンストラクタのコードも一応書いときます。
けんちゃんより(はぁと)
public function __construct($defaults = array(), $options = array(), $CSRFSecret = null)
{
if(isset($defaults['user_id']))
{
$user = Doctrine_Core::getTable('User')->find($defaults['user_id']);
if($user)
{
$defaults['user_id'] = $user->getUsername();
}
}
parent::__construct($defaults, $options, $CSRFSecret);
}
だれかの役に立つかもしれないから、動いたコンストラクタのコードも一応書いときます。
けんちゃんより(はぁと)
public function __construct($defaults = array(), $options = array(), $CSRFSecret = null)
{
if(isset($defaults['user_id']))
{
$user = Doctrine_Core::getTable('User')->find($defaults['user_id']);
if($user)
{
$defaults['user_id'] = $user->getUsername();
}
}
parent::__construct($defaults, $options, $CSRFSecret);
}
272nobodyさん
2010/11/17(水) 05:44:26ID:??? 他システムへのアクセスがあったときに、タスクを用いてSymfony側にアクセスログを取ろうとしています。
実行すると「There is no open connection」というエラーが出てしまいます。
なにがおかしいんでしょうか?
> $databaseManager = new sfDatabaseManager($this->configuration);
> $connection = $databaseManager->getDatabase('links')->getConnection();
を追加してみたのですが、
「 Database "links" does not exist.」
というエラーが出てしまいます。これは正しいDB名です。
実行すると「There is no open connection」というエラーが出てしまいます。
なにがおかしいんでしょうか?
> $databaseManager = new sfDatabaseManager($this->configuration);
> $connection = $databaseManager->getDatabase('links')->getConnection();
を追加してみたのですが、
「 Database "links" does not exist.」
というエラーが出てしまいます。これは正しいDB名です。
273nobodyさん
2010/11/17(水) 05:46:56ID:??? C:\MyProject\link>php symfony link:access user01 111.111.111.111
#accessTask.class.php
<?php
class accessTask extends sfBaseTask
{
public function configure()
{
$this->namespace = 'link';
$this->name = 'access';
$this->addArgument('username', sfCommandArgument::OPTIONAL);
$this->addArgument('ip', sfCommandArgument::OPTIONAL);
}
public function execute($arguments = array(), $options = array())
{
$access = new Accesslog();
$access->setUsername($arguments['username']);
$access->setIp($arguments['ip']);
$access->save();
$this->log('access from '. $arguments['ip']);
}
}
#accessTask.class.php
<?php
class accessTask extends sfBaseTask
{
public function configure()
{
$this->namespace = 'link';
$this->name = 'access';
$this->addArgument('username', sfCommandArgument::OPTIONAL);
$this->addArgument('ip', sfCommandArgument::OPTIONAL);
}
public function execute($arguments = array(), $options = array())
{
$access = new Accesslog();
$access->setUsername($arguments['username']);
$access->setIp($arguments['ip']);
$access->save();
$this->log('access from '. $arguments['ip']);
}
}
274nobodyさん
2010/11/17(水) 10:31:09ID:??? >>273
・extends sfDoctrineBaseTaskにする
・executeの冒頭に
$configuration = $this->createConfiguration('users', 'cli');
new sfDatabaseManager($this->configuration);
と書く。
理屈は知らんがw
doctrineならこれで動くんじゃね
・extends sfDoctrineBaseTaskにする
・executeの冒頭に
$configuration = $this->createConfiguration('users', 'cli');
new sfDatabaseManager($this->configuration);
と書く。
理屈は知らんがw
doctrineならこれで動くんじゃね
275nobodyさん
2010/11/17(水) 10:31:58ID:??? あ、ごめん。createConfigurationの最初の引数はapp名で。
276nobodyさん
2010/11/17(水) 17:22:41ID:??? できた〜!
しっかし重いなぁ。。。
まだ連動させてないけど、Doctrineがログ吐くのが悪さしないといいんだけど。
(-quiet指定したら、"-u","-i","-e"オプションが無いとエラーが出たのであとで調べる。)
しっかし重いなぁ。。。
まだ連動させてないけど、Doctrineがログ吐くのが悪さしないといいんだけど。
(-quiet指定したら、"-u","-i","-e"オプションが無いとエラーが出たのであとで調べる。)
277nobodyさん
2010/12/13(月) 19:58:07ID:??? マイグレーションについてなんですけど、
カラムの追加は公式ドキュメントでなんとなく分かりました。
ただ、テーブル(既存テーブルとのリレーション有り)を新たに追加する場合は
どうすればよいのでしょうか?
Symfonyが吐いたテーブル作成のSQL文をコピペしてprod環境で実行、
モデル等のファイルをアップロード、
キャッシュクリア
というような手作業になるのでしょうか?
ビルドはいらないですよね?
カラムの追加は公式ドキュメントでなんとなく分かりました。
ただ、テーブル(既存テーブルとのリレーション有り)を新たに追加する場合は
どうすればよいのでしょうか?
Symfonyが吐いたテーブル作成のSQL文をコピペしてprod環境で実行、
モデル等のファイルをアップロード、
キャッシュクリア
というような手作業になるのでしょうか?
ビルドはいらないですよね?
278nobodyさん
2010/12/13(月) 22:35:02ID:???279nobodyさん
2010/12/13(月) 23:26:51ID:??? まだあまりsymfonyを理解していないのですが、
symfony doctrine:build --all --and-load
すると、まずデータベースがdropされますよね?
複数プロジェクトで共通のユーザー情報マスタDBを使うつもりでいるので
1つのプロジェクトを更新するたびにユーザー情報がdropされると困るのですが、
どのように構成すればよいでしょうか?
#仮にユーザー情報マスタDBのスキーマだけを持ったプロジェクトを作って、
#ほかのプロジェクトはユーザー情報DBをスキーマに記述しない構成も考えたのですが、
#モデル等が作られないのでリレーション等が働かない気がしています。
symfony doctrine:build --all --and-load
すると、まずデータベースがdropされますよね?
複数プロジェクトで共通のユーザー情報マスタDBを使うつもりでいるので
1つのプロジェクトを更新するたびにユーザー情報がdropされると困るのですが、
どのように構成すればよいでしょうか?
#仮にユーザー情報マスタDBのスキーマだけを持ったプロジェクトを作って、
#ほかのプロジェクトはユーザー情報DBをスキーマに記述しない構成も考えたのですが、
#モデル等が作られないのでリレーション等が働かない気がしています。
280nobodyさん
2010/12/14(火) 07:43:09ID:??? >>278
つttp://symfony-doc-ja.googlecode.com/svn/branches/1.2/html/book/09-Links-and-the-Routing-System.html#url.rewriting
つttp://symfony-doc-ja.googlecode.com/svn/branches/1.2/html/book/09-Links-and-the-Routing-System.html#url.rewriting
281nobodyさん
2010/12/18(土) 02:06:30ID:??? 初心者のくせにサーバでsymfony運用始めちゃったんですけど、
新しいテーブル追加するにはどうすればいいですか??
サーバでbuild-allするとdropしちゃいますよね?
一旦save-fixtureすることも考えたんですが
sfGuardPluginなんで、パスワードが変わっちゃいますよね?;;
新しいテーブル追加するにはどうすればいいですか??
サーバでbuild-allするとdropしちゃいますよね?
一旦save-fixtureすることも考えたんですが
sfGuardPluginなんで、パスワードが変わっちゃいますよね?;;
282nobodyさん
2010/12/19(日) 00:28:41ID:??? >>281
build-allじゃなくて必要なタスクだけ実行すればいいんじゃないの?
やり方は色々あると思うけど
例えば新しいテーブルはSQLで作って
symfony --xml build-schema
symfony build --model
symfony build --forms
symfony cc
とか。
build-allじゃなくて必要なタスクだけ実行すればいいんじゃないの?
やり方は色々あると思うけど
例えば新しいテーブルはSQLで作って
symfony --xml build-schema
symfony build --model
symfony build --forms
symfony cc
とか。
283281
2010/12/27(月) 05:22:49ID:ZrwXahVr 遅くなりました。
ちょっとそれでやってみることにします。
ちょっとそれでやってみることにします。
284nobodyさん
2010/12/28(火) 01:53:08ID:??? 駄目フレームワークの典型symfony
だから誰も使わないし流行らない。
だから誰も使わないし流行らない。
285nobodyさん
2010/12/28(火) 04:53:44ID:??? 2.0で大きく変わるんだから、自身で悪い点は分かってるんだろうよ。
フレームワークは所詮道具なんで、どれを使ってもいくつも使ってもいいと思う。
ケースバイケース、適材適所で。
1個覚えれば他に移行するのも楽だよ。
俺はsymfonyともPHPとも心中する気は無いけど、
それでも、今現在の最善策だと思って使ってく。
5年も経てば、CakeでもZendでもない新しいフレームワークにみんな移ってると思うよ。
そんな気持ち。
フレームワークは所詮道具なんで、どれを使ってもいくつも使ってもいいと思う。
ケースバイケース、適材適所で。
1個覚えれば他に移行するのも楽だよ。
俺はsymfonyともPHPとも心中する気は無いけど、
それでも、今現在の最善策だと思って使ってく。
5年も経てば、CakeでもZendでもない新しいフレームワークにみんな移ってると思うよ。
そんな気持ち。
286nobodyさん
2010/12/28(火) 09:09:58ID:??? 多言語サポートしたいんだけど、
URLにdomain.com/jp/とかdomain.com/en/とかアドレスを分けたくない場合は
どうすればいいですか?
サーチエンジンからすると、分けてたほうがいいのかな??
URLにdomain.com/jp/とかdomain.com/en/とかアドレスを分けたくない場合は
どうすればいいですか?
サーチエンジンからすると、分けてたほうがいいのかな??
287nobodyさん
2010/12/29(水) 03:44:19ID:??? なぜ英語はen(english)なのに日本語はjpですか?
その流れではjaなのではないのですか?
その流れではjaなのではないのですか?
288nobodyさん
2010/12/29(水) 18:34:12ID:??? symfony使いこなせる人はスキル高いと思うよ
symfonyから学ぶことはたくさんある
symfony2.0への前準備として1.4勉強するといいよ
symfonyから学ぶことはたくさんある
symfony2.0への前準備として1.4勉強するといいよ
289nobodyさん
2011/01/01(土) 06:25:49ID:??? 2.0のチュートリアル等の日本語化は誰がやるか決まってるの?
291nobodyさん
2011/01/04(火) 23:09:37ID:??? チュートリアルやってみたけどSubversion導入するところでめんどくさくなって挫折した。
293nobodyさん
2011/01/14(金) 18:21:43ID:??? Doctrineについて質問だけど、join系にサブクエリって入れれる?
どうもやり方が見つけられない・・・。
どうもやり方が見つけられない・・・。
294nobodyさん
2011/01/15(土) 13:43:19ID:PxyuICb1 >>286
JavaScript で対応。jQuery プラグインなら jquery.localize.js とか MS 謹製の jQuery Globalization Plugin が見つかるね。
JavaScript で対応。jQuery プラグインなら jquery.localize.js とか MS 謹製の jQuery Globalization Plugin が見つかるね。
295nobodyさん
2011/01/15(土) 13:44:44ID:PxyuICb1 >>289
主だった人は執筆やら勉強の会の準備に忙しいから、
主だった人は執筆やら勉強の会の準備に忙しいから、
296nobodyさん
2011/01/15(土) 13:57:41ID:PxyuICb1 >>295 のつづき。すぐに翻訳はそろわないと思うよ。ただ、コードサンプルはわかりやすいから、英語が読めなくても内容をかなりつかめるんじゃないかな。
297nobodyさん
2011/01/15(土) 14:10:43ID:PxyuICb1 >>284
ガラパゴス基準で考えてほしくないな。github のウォッチングランキングに入っているのでじゅうぶん人気はあると思うよ。
https://github.com/popular/watched
ガラパゴス基準で考えてほしくないな。github のウォッチングランキングに入っているのでじゅうぶん人気はあると思うよ。
https://github.com/popular/watched
298nobodyさん
2011/01/15(土) 17:49:57ID:??? VPSも安くなったし、もう無理してPHP使う必要無い時代になったな。
299nobodyさん
2011/01/15(土) 22:12:45ID:PxyuICb1300nobodyさん
2011/01/23(日) 02:44:06ID:??? シンプルとはいえない
302nobodyさん
2011/01/29(土) 15:07:57ID:??? VPSだからPHP要らない?
お前は何を言っているんだw
お前は何を言っているんだw
303nobodyさん
2011/02/01(火) 09:59:49ID:??? >>298の言いたいことはよく分かる。
PHPなんて糞だと思いつつも、格安鯖にはPHPとPerlしかないし…
と、他の言語に興味がありながら、なかなか手を出せなかった人にとってはいい転換期だと思う。
インフラの心配なく、自動スケールするGoogle App Engineとかもあるしね。
JavaとかPythonもやってみると意外と面白い。
PHPなんて糞だと思いつつも、格安鯖にはPHPとPerlしかないし…
と、他の言語に興味がありながら、なかなか手を出せなかった人にとってはいい転換期だと思う。
インフラの心配なく、自動スケールするGoogle App Engineとかもあるしね。
JavaとかPythonもやってみると意外と面白い。
304nobodyさん
2011/02/01(火) 11:10:01ID:???305nobodyさん
2011/02/03(木) 00:03:26ID:??? ルート権限あるなら、mod_perlでもPassengerでも自由にインストール出来るから名。
これまでのレンタルサーバの共用プランだと、mod_phpかPerl/CGIしか選択肢がなかった。
そういう事だろう。
これまでのレンタルサーバの共用プランだと、mod_phpかPerl/CGIしか選択肢がなかった。
そういう事だろう。
306nobodyさん
2011/02/03(木) 01:43:49ID:??? Perlも最低限SSHでシェルにアクセスできんと
local::libでCPANモジュールぶっこみができないのがつらいところ
local::libでCPANモジュールぶっこみができないのがつらいところ
307nobodyさん
2011/04/15(金) 12:53:12.64ID:??? Doctrineで新しくレコード追加したわけだが、
追加したレコードのIDが取得できん。
$xxxx = new AAAAA();
: (各種設定setXXXX())
$xxxx->save();
$xxxx->getId();←常に0が返ってくる。
別のテーブルでも試してみて、原因は複合主キーだとは
わかっているんだが、どうやってInsertしたテーブルの
キーを取得すればよいのか誰か教えて欲しい。
追加したレコードのIDが取得できん。
$xxxx = new AAAAA();
: (各種設定setXXXX())
$xxxx->save();
$xxxx->getId();←常に0が返ってくる。
別のテーブルでも試してみて、原因は複合主キーだとは
わかっているんだが、どうやってInsertしたテーブルの
キーを取得すればよいのか誰か教えて欲しい。
308nobodyさん
2011/04/16(土) 00:15:15.06ID:??? スマホ対応どうしてますか?
309nobodyさん
2011/04/20(水) 02:20:42.61ID:??? $xxxx->id は?
310nobodyさん
2011/05/09(月) 22:51:03.02ID:??? symfony2勉強会人気ありすぎワロタ
311nobodyさん
2011/05/19(木) 07:19:01.17ID:??? ZF人気なさすぎワロタ
312nobodyさん
2011/05/20(金) 20:40:57.95ID:??? なぜ、Symfonyのスレが盛り上がらないのか?
その答えは単純明快である。
Symfonyの素晴らしさを理解できる優秀なエンジニアは
この世に一握りしかいないからである。
世間の評価など気にせずに、優秀なエンジニア達は
迷わずSymfonyを使えばいい。
Symfonyの素晴らしさを理解できる優秀なエンジニアだけで
Synfonyを独占すればいい。
その答えは単純明快である。
Symfonyの素晴らしさを理解できる優秀なエンジニアは
この世に一握りしかいないからである。
世間の評価など気にせずに、優秀なエンジニア達は
迷わずSymfonyを使えばいい。
Symfonyの素晴らしさを理解できる優秀なエンジニアだけで
Synfonyを独占すればいい。
313nobodyさん
2011/05/24(火) 17:02:41.05ID:??? symfonyはフレームワークじゃないって本当ですか?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1062913895
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1062913895
314nobodyさん
2011/06/21(火) 23:30:06.99ID:??? www
315nobodyさん
2011/07/16(土) 10:49:36.52ID:??? APIの結果をページングしたい場合、
sfPagerを継承して独自のページャを作る、っていう方法であってますか?
sfPagerを継承して独自のページャを作る、っていう方法であってますか?
316nobodyさん
2011/08/21(日) 15:06:40.02ID:??? 手嶋屋のおかげでsymfonyの評価がた落ちだよ。
317nobodyさん
2011/08/22(月) 09:27:30.42ID:??? 最近、諸事情でしぶしぶCakePHPを触ることになったのだが、
やっぱCakeのがシンプルで融通聞くと思い始めた。
symfony2は原型とどめてないしビジネス的に見てもCakeかなあ・・・
あとやっぱりschema.ymlとmigration両方書くのもめんどい。
やっぱCakeのがシンプルで融通聞くと思い始めた。
symfony2は原型とどめてないしビジネス的に見てもCakeかなあ・・・
あとやっぱりschema.ymlとmigration両方書くのもめんどい。
318nobodyさん
2011/08/29(月) 13:54:53.89ID:??? symfonyつぎはぎすぎる
319nobodyさん
2011/09/09(金) 12:56:57.62ID:??? symfony1.0とPHP5.3って相性良くないですか?
なんかデバッグしにくい妙なエラーが・・
無理に5.3にせずに5.2で行く方が無難かな
なんかデバッグしにくい妙なエラーが・・
無理に5.3にせずに5.2で行く方が無難かな
320nobodyさん
2011/09/09(金) 14:04:29.22ID:??? newの前にある&を取ればいーんじゃね?
321nobodyさん
2011/09/10(土) 14:10:10.81ID:??? 自分の書いたクラスでメソッドの修飾子をpublic publicと二回書いてて
5.2まではそれでも動いていたのが、5.3では動かなくなっていて
しかもそれがバッドノウハウ的にエラー表示を消してるところで起きていたので分からなかっただけでした・・orz
5.2まではそれでも動いていたのが、5.3では動かなくなっていて
しかもそれがバッドノウハウ的にエラー表示を消してるところで起きていたので分からなかっただけでした・・orz
322nobodyさん
2011/09/12(月) 22:56:15.71ID:??? Symfony2のフォームについて教えてください。
一覧画面の各レコードの端にチェックボックスを置き、
チェックされたものを、一覧の下に用意した削除ボタンで一括削除、
というような事をしたいのですが
フォームをどのように作ればいいんでしょうか。
当然ながら削除チェックボックスは、永続化するものではありません。
(1) 削除対象のエンティティ&そのフォーム
(2) (1)に、削除チェックボックスを足したVO&そのフォーム
(3) (2)の配列を持つVO&そのフォーム
こんな感じで3重の入れ子にすればいけるかな、と思ったんですが
(2)の段階で既に画面表示がエラーになり、
考え方がおかしいのか、どこかで実装ミスしてるだけなのか判断できず困ってます。
そもそも↑この構成が面倒くさすぎるので、もっと簡単にやれれば嬉しいのですが。
一覧画面の各レコードの端にチェックボックスを置き、
チェックされたものを、一覧の下に用意した削除ボタンで一括削除、
というような事をしたいのですが
フォームをどのように作ればいいんでしょうか。
当然ながら削除チェックボックスは、永続化するものではありません。
(1) 削除対象のエンティティ&そのフォーム
(2) (1)に、削除チェックボックスを足したVO&そのフォーム
(3) (2)の配列を持つVO&そのフォーム
こんな感じで3重の入れ子にすればいけるかな、と思ったんですが
(2)の段階で既に画面表示がエラーになり、
考え方がおかしいのか、どこかで実装ミスしてるだけなのか判断できず困ってます。
そもそも↑この構成が面倒くさすぎるので、もっと簡単にやれれば嬉しいのですが。
324nobodyさん
2011/09/23(金) 02:30:11.31ID:??? Symfony2使ってる奴なんて奇特すぎる
325nobodyさん
2011/10/03(月) 00:43:49.00ID:??? DI、AOP、Agile、TDD、ファックだぜ〜
326nobodyさん
2011/10/26(水) 00:19:03.95ID:??? Symfony+Aptana(Eclipse)で開発しています。
AptanaにSymfonyコマンドを登録してやっているのですが、
他のSymfonyプロジェクトにエクスポートして持って行くと
うまく動いてくれなくて、結局手作業でパスなどを修正しています。
なにかうまく動かす方法はないでしょうか?
AptanaにSymfonyコマンドを登録してやっているのですが、
他のSymfonyプロジェクトにエクスポートして持って行くと
うまく動いてくれなくて、結局手作業でパスなどを修正しています。
なにかうまく動かす方法はないでしょうか?
327nobodyさん
2011/11/04(金) 21:32:11.13ID:??? security.ymlについて質問させてください。
OpenPNE上で開発をしているのですが、$base_url/member/$idに対して、
URLの$idがどんな整数を受け取っても認証させるようにするにはどのように設定ファイルを書けばよいのでしょうか?
それとも複数のURLに対してまとめて設定するのは不可能なのでしょうか?
memberモジュール内で、
all
is_secure: false
$id
is_secure: true
credentials: admin
のようにしたいのですが、webや過去ログを見てもそれらしいものが無かったので、
ご存知の方がいらっしゃいましたら、お知恵をお貸しください。
OpenPNE上で開発をしているのですが、$base_url/member/$idに対して、
URLの$idがどんな整数を受け取っても認証させるようにするにはどのように設定ファイルを書けばよいのでしょうか?
それとも複数のURLに対してまとめて設定するのは不可能なのでしょうか?
memberモジュール内で、
all
is_secure: false
$id
is_secure: true
credentials: admin
のようにしたいのですが、webや過去ログを見てもそれらしいものが無かったので、
ご存知の方がいらっしゃいましたら、お知恵をお貸しください。
329nobodyさん
2011/11/18(金) 12:00:30.79ID:??? すみません、symfonyで画像ファイルをデータベースに保存するのはどういう書き方になるのでしょうか?
Openpneの開発なので、file_binテーブルに入れる形にしたいです
Openpneの開発なので、file_binテーブルに入れる形にしたいです
330nobodyさん
2011/12/08(木) 15:13:46.08ID:ift+em7E どなたかDQLの書き方をお教え下さい
以下、結果は同じですがDQLでの指定がわからず…
SELECT * FROM Table1, Table2 WHERE Table1.id = Table2.id
SELECT * FROM Table1 JOIN Table2 WHERE Table1.id = Table2.id
以下、結果は同じですがDQLでの指定がわからず…
SELECT * FROM Table1, Table2 WHERE Table1.id = Table2.id
SELECT * FROM Table1 JOIN Table2 WHERE Table1.id = Table2.id
331nobodyさん
2011/12/09(金) 22:51:09.35ID:??? addFrom
332nobodyさん
2011/12/10(土) 02:17:59.00ID:ECmz/c7m ?
333nobodyさん
2011/12/10(土) 03:18:38.16ID:??? $q->from('Table1 t1')->addFrom('Table2 t2')->where('t1.id = t2.id')
$q->from('Table1 t1')->innerJoin('Table2 t2')
とか。
$q->from('Table1 t1')->innerJoin('Table2 t2')
とか。
334nobodyさん
2011/12/10(土) 03:31:11.41ID:??? まちがえた
$q->from('Table1 t1')->addFrom('t1.Table2 t2')->where('t1.id = t2.id')
$q->from('Table1 t1')->innerJoin('t1.Table2 t2')
かな。
$q->from('Table1 t1')->addFrom('t1.Table2 t2')->where('t1.id = t2.id')
$q->from('Table1 t1')->innerJoin('t1.Table2 t2')
かな。
335nobodyさん
2011/12/10(土) 07:40:32.51ID:??? それってDQLじゃないんじゃ?
$q = $em->createQuery("SELECT t1, t2 FROM Table1 t1 INNER JOIN t1.Table2 t2 WHERE t1.id = t2.id");
かな?
間違ってるかもしれない
誰かフォローよろw
$q = $em->createQuery("SELECT t1, t2 FROM Table1 t1 INNER JOIN t1.Table2 t2 WHERE t1.id = t2.id");
かな?
間違ってるかもしれない
誰かフォローよろw
336nobodyさん
2011/12/10(土) 08:28:13.81ID:??? 組み立ててからgetDqlすればよくね?
レスを投稿する
ニュース
- ベッセント米財務長官の激怒も仕方なし…「高市政権の経済ブレーン」が危ない、トランプ大統領も怒り出しかねない [バイト歴50年★]
- 【サッカー】第3次森保Jの初陣は白星発進 松木デビュー弾、塩貝の劇的な一撃…森保監督が試合に言及★2 [ゴアマガラ★]
- 【アジア大会】卓球男子団体が60年ぶり金!ついに中国倒した 崖っ縁から張本&松島が連勝 3時間超熱闘 [征夷大将軍★]
- 富士山閉山期、登山届出さず救助→上限5万円の過料 静岡で来期から [少考さん★]
- 自民党・岩屋毅前外相、27日訪中へ 関係修復の機運醸成はかる [少考さん★]
- 田村淳、鰻屋で帽子を脱がずに食事 批判の声に「牛丼店で着帽のまま食べてても何も言わないのに 第三者のヒマナー警察がうるさい★3 [Anonymous★]
- 【悲報】自民党県議、匿名の裏アカで攻撃的な投稿をしていたのがバレて謝罪 [834922174]
- 「たのしいピクニック女」、女性を怒らせてしまったため、たくさん画像が作られる。★3 [347751896]
- X民「村田製作所を退社しました!これからは投資垢やります!」退職証明書の形式が違うとツッコミが相次ぎ有印私文書偽造と話題 [279951338]
- 柏レイソル🏡
- 【朗報】ホロライブの新人Vtuber、物理学博士ww [119158863]
- 【ネットde真実】なぜバカウヨは、ネットで見た画像や動画を真実だ信じるのか? [507895468]