2016-03-22 12 views
0

Ich habe den folgenden Code:Redbean MySql Einsatz Fehler

Array 
(
    [title] => asdas 
    [question] => dasdsa 
    [gender] => 
    [age] => 
    [description] => 
    [imageUrl] => 
    [plan_id] => 2 
    [plan_type] => special 
    [plan_price] => 199 
    [specialty_id] => 7 
    [specialty] => Cardiologist 
) 

Ich erhalte Fehler für Spezialität:

Error 


RedBeanPHP\RedException Object 
(
    [message:protected] => Cannot cast to bean. 
    [string:Exception:private] => 
    [code:protected] => 0 
    [file:protected] => /Applications/XAMPP/xamppfiles/htdocs/site/rb/rb.php 
    [line:protected] => 2203 
    [trace:Exception:private] => Array 
     (
      [0] => Array 
       (
        [file] => /Applications/XAMPP/xamppfiles/htdocs/site/rb/rb.php 
        [line] => 2414 
        [function] => __set 
        [class] => RedBeanPHP\OODBBean 
        [type] => -> 
        [args] => Array 
         (
          [0] => specialty 
          [1] => asdsad 
         ) 

       ) 

      [1] => Array 
       (
        [file] => /Applications/XAMPP/xamppfiles/htdocs/site/class/crud.php 
        [line] => 52 
        [function] => offsetSet 
        [class] => RedBeanPHP\OODBBean 
        [type] => -> 
        [args] => Array 
         (
          [0] => specialty 
          [1] => asdsad 
         ) 

       ) 

      [2] => Array 
       (
        [file] => /Applications/XAMPP/xamppfiles/htdocs/site/validate/question/step2.php 

        [line] => 37 
        [function] => insert 
        [class] => crud 
        [type] => -> 
        [args] => Array 
         (
          [0] => question 
          [1] => Array 
           (
            [title] => asdas 
            [question] => dasdsa 
            [gender] => 
            [age] => 
            [description] => 
            [imageUrl] => 
            [plan_id] => 2 
            [plan_type] => special 
            [plan_price] => 199 
            [specialty_id] => 7 
            [specialty] => asdsad 
            [contributor] => dinesh 
            [created_by] => 1 
            [ip_address] => ::1 
            [user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0 
           ) 

         ) 

       ) 

     ) 

    [previous:Exception:private] => 
) 

ich mehr als 1 Stunde lang versucht, dieses Problem zu beheben, und ich bin immer noch nicht in der Lage, es zu beheben.

+0

Angenommen, Ihr Code ist PHP, müssen Sie String mit Klammern, nicht wahr? Zeigen Sie uns auch die Zeile '2203' von' rb.php'? – PinkTurtle

+0

Das ist mein params Array ( [title] => asdas [Frage] => dasdsa [Geschlecht] => [Alter] => [description] => [imageUrl] => [ plan_id] => 2 [plan_type] => Sonder [plan_price] => 199 [specialty_id] => 7 [Spezialität] => Kardiologe ) –

+0

Wenn Sie die Spezialität param seine ordnungsgemäß funktioniert entfernen. –

Antwort

0

Es scheint, dass Sie versuchen, ein Array anstelle einer Bean zu speichern. Immer rufen Sie R::store() Sie müssen eine Bean übergeben.

Redbean schafft Datenbankstruktur für Sie, Sie müssen nur R::freeze(false);

für Ex Fluid-Modus wechseln:

R::freeze(false); 

$plan = R::dispense('plan'); 
$plan->description = 'Plan 1'; 
$bean->planprice = 199.99; 

$plantype = R::dispense('plantype');//without underline, ok?!!! 
$plantype->description = 'Standard'; 

$specialty = R::dispense('specialty'); 
$specialty->description = 'Cardiologist'; 

$bean = R::dispense('tablename'); 
$bean->title = 'asdas'; 
$bean->question = 'dasdsa'; 
$bean->gender = 1;//1 - Male; 2 - Female; 
$bean->age = 39; 
$bean->description = 'bla bla bla'; 
$bean->imageurl = 'http://urltotheimage/img.jpg'; 
$bean->plan = $plan; 
$bean->plantype = $plantype; 
$bean->specialty = $specialty; 

R::store($bean); 

Wenn Sie einen $ Bean speichern, redbean Speicher jede andere Bohne Sie erstellt ($plan, $plantype, $specialty) mit attr name mit _id am Ende des Spaltennamens.

Wenn Sie eine bestimmte ID haben, tragen Sie $plan als Bohne speichern müssen (wenn Sie bereits die Registrierung auf Datenbank gespeichert haben) Sie müssen nur

$bean->plan_id = $givenid;

Redbean Pass ist eine erstaunliche orm Werkzeug, aber Sie müssen in seiner Website vertiefen, um damit zu arbeiten;

+0

Ich möchte speciality_text verwenden? –

+0

dasselbe Konzept verwende andere Tabelle sein korrektes Einfügen ohne Fehler auf Spezialgebiet. –

+0

Sie können '_' nicht in Tabellennamen verwenden, aber kein Problem mit dem Spaltennamen, um Ihnen zu helfen, nach der Methode' runQuery' in rb zu suchen.php und log '' sql 'und' $ bindings' Variablen, als Sie überprüfen können, was redbean in der Datenbank ausführt –