私は関数からjson応答として返すオブジェクトの属性を変更しようとしています。私はそれを保存してDBに保存しようとはせず、apiの応答として送信する前に変更するだけです。私はpost_title
属性を変更し、属性post_id
を設定することができますが、url
とslug
属性を変更することはできませんよ、なぜ#appends配列の内部にあるLaravel - 変更オブジェクト属性フィールド
if ($item->post_title == '') {
$post = $this->findPostId($item);
$item->post_title = $post->post_title;
$item->url = $post->guid;
$item->slug = $post->slug;
$item->setAttribute('post_id', $post->ID);
}
私は理解していないことであるこれは、次のことを私はコードの一部であります。 post->guid
とpost->slug
の両方の属性をチェックしましたが、両方の値が取得されますが、item
のオブジェクトプロパティは変更されません。
更新
ちょうどslug
フィールドは、モデルの#appends
配列の内部、およびない#attributes
配列であることに気づきました。与えられたオブジェクトのためにそれを変更する方法はありますか?
は、彼らが_guarded_属性だことは可能ですか? –
私はlaravelに何も設定していませんが、私はWPデータベースからデータを取得していて、 '' 'dd($ item)' 'でオブジェクトを期待しています。' '#guarded:array:1 [ 0 =>「*」 – Leff
あなたのモデルのプロパティはすべて投稿できますか? – TecBeast