[解決済み] laravel: Relationship method must return object of type IlluminateDatabaseEloquentRelations
2022-02-01 12:54:42
質問
私は3つのDBテーブルを持っていますが、それらのいずれにもリレーションシップを付けていません。
public function store($key)
{
$user_key = md5(Input::get('email') . "-" . strtotime('now'));
$user = new User;
$user->name = Input::get('name');
$user->email = Input::get('email');
$user->user_key = $user_key;
$user->password = Hash::make(Input::get('password'));
$user->apipass = md5(Input::get('password'));
$user->save();
$newUid = $user->id;
//check key for share
$invited = DB::table('invites')->where('invite_key', Input::get('invite_key'))->where('status', '0')->count();
if($invited == 1) {
$inviter_id = DB::table('invites')->where('invite_key', Input::get('invite_key'))->where('status', '0')->pluck('user_id');
$read_only = DB::table('invites')->where('invite_key', Input::get('invite_key'))->where('status', '0')->pluck('read_only');
$share = new RecordShare;
$share->user_id = $inviter_id;
$share->shared_with_id = $newUid;
$share->read_only = $read_only;
$share->save;
}
return Redirect::to('login');
}
新しいユーザーを作成し、誰が彼を招待したかを確認し、招待者との共有レコードを作成することになっています。
が、テストするとエラーになる。
LogicException
Relationship メソッドは、以下の型のオブジェクトを返す必要があります。 IlluminateDatabaseEloquentRelationsRelation
を開いてください。/home/oneinfin/public_html/dialysis/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php
*/
protected function getRelationshipFromMethod($key, $camelKey)
{
$relations = $this->$camelKey();
if ( ! $relations instanceof Relation)
{
throw new LogicException('Relationship method must return an object of type '
. 'Illuminate\Database\Eloquent\Relations\Relation');
}
データに何か問題があると思い、空のレコードを作ろうとしたのですが
$share = new RecordShare;
$share->save;
が、これも同じエラーで失敗しています。この部分を完全に削除すると、この関数はパスするようになります。
何が問題なのでしょうか?キャッシュをクリアしてみましたが、まだうまくいきません。
どうすればいいですか?
変更する
$share->save;
になります。
$share->save();
関連
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】空の配列要素を削除する
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み] PHP - ストリームを開くのに失敗しました : そのようなファイルまたはディレクトリがありません。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み] SSLエラー SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
thinkphp5 timestamp 非整形の数値に遭遇した。
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] Forbidden :このサーバーの /phpmyadmin にアクセスする権限がありません。